bash等于批次的%*

时间:2019-10-05 15:06:44

标签: bash batch-file

如果我有一个批处理文件,并且只想使用所有给定的脚本参数,则可以使用%*

示例 a.bat

echo %*

呼叫a.bat 1 2 3 4会给出:

1 2 3 4

我如何在bash脚本中做同样的事情?

1 个答案:

答案 0 :(得分:3)

"$*"将返回一个字符串,所有参数用空格分隔。 "$@"将返回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