gpt4 book ai didi

bash - 通过 Bash 传递命令行参数

转载 作者:行者123 更新时间:2023-11-29 09:28:05 24 4
gpt4 key购买 nike

在复习 bash 时(已经有一段时间了),我惊讶地注意到执行这段代码,保存为 script.sh:

echo "Arg 0 to script.sh: $0"
echo "Arg 1 to script.sh: $1"
function echo_args
{
echo "Arg 0 to echo_args: $0"
echo "Arg 1 to echo_args: $1"
}
echo_args

像这样:

>> ./script.sh argument

输出这个:

Arg 0 to script.sh: ./script.sh
Arg 1 to script.sh: argument
Arg 0 to echo_args: ./script.sh
Arg 1 to echo_args:

我很惊讶地看到 script.sh 的 $0 被作为 $0 传递给 echo_args 而 $1 没有被类似地对待。在我看来应该两者兼而有之。

如有任何澄清,我们将不胜感激。

最佳答案

$0 是 bash 中的“特殊参数”,它始终计算为脚本的名称,并在脚本的开头设置。看起来这也意味着它在某种程度上是全局的,因为它不能被重新分配。

有关更多信息,这是一个很好的引用:

http://bash.cyberciti.biz/guide/$0

关于bash - 通过 Bash 传递命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25467253/

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