如果我有一个批处理文件,并且想要使用所有给定的脚本参数,我可以使用
例如a.bat。
如何在bash脚本中实现相同的功能?
%*
。例如a.bat。
echo %*
调用 a.bat 1 2 3 4
的结果是:
1 2 3 4
如何在bash脚本中实现相同的功能?
%*
。echo %*
调用 a.bat 1 2 3 4
的结果是:
1 2 3 4
"$*"
将返回一个字符串,其中所有参数都用空格分隔。
"$@"
将返回N个字符串,每个参数一个。
例如:a.sh
:
echo "$@"
运行 a.sh 1 2 3 4
将会得到:
1 2 3 4
a.sh
的另一个示例:
printf "%s\n" "$@"
调用a.sh 1 '2 2' '3 3 3' '4 4 4 4'
将返回:
1
2 2
3 3 3
4 4 4 4
相对于 a.sh
:
printf "%s\n" "$*"
这将打印:
1 2 2 3 3 3 4 4 4 4
"$@"
几乎总是你想要的;你很少想把参数当作一个以空格连接的字符串来处理。 - undefined
bash
中使用$*
。如果你有这样的问题,那么你肯定会对如何编写bash
脚本有其他问题。你应该阅读一些关于bash
脚本编程的内容,如果你搜索"bash脚本编程",会有很多非常好的信息在线上。 - undefinedman bash
命令。 - undefined