gpt4 book ai didi

bash - 如何将位置参数传递给函数

转载 作者:行者123 更新时间:2023-11-29 09:35:33 25 4
gpt4 key购买 nike

我正在尝试使用 bash 脚本。我做了这个简单的脚本

#!/bin/bash

function myfun()
{
for item in `seq 1 5`
do
echo "$item $1 $2"
done
}
myfun

但运气不好。如果我像下面这样改变它,一切似乎都很好,

#!/bin/bash

a=$1
b=$2

function myfun()
{
for item in `seq 1 5`
do
echo "$item $a $b"
done
}
myfun

看起来参数(位置参数)在 shell 的函数内部不起作用。我做错了吗?我还在学习东西。那么您能解释一下为什么会这样吗?

最佳答案

是函数而不是循环:

function myfun()
{
for item in `seq 1 5`
do
echo "$item $1 $2"
done
}

# Pass all of the script's parameters to the function,
# as if writing myfun "$1" "$2" "$3"..
myfun "$@"

关于bash - 如何将位置参数传递给函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20274077/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com