我有一个简单的脚本,其中第一个参数是为文件名保留的,所有其他可选参数都应该传递给脚本的其他部分。
使用 Google 我找到了这个 wiki,但它提供了一个文字示例:
echo "${@: -1}"
我无法进行其他任何工作,例如:
echo "${@:2}"
要么
echo "${@:2,1}"
我从终端收到“错误替换”。
问题是什么,除了传递给 bash 脚本的第一个参数之外,我该如何处理?
用这个:
以下语法:
echo "${*:2}"
也可以,但不推荐,因为正如已经解释的那样,使用*,它将所有参数作为带有空格的单个参数一起运行,同时@保留它们之间的中断(即使某些参数本身包含空格)。与 没有区别echo,但对许多其他命令很重要。
*
@
echo