小编典典

处理除第一个参数之外的所有参数(在 bash 脚本中)

all

我有一个简单的脚本,其中第一个参数是为文件名保留的,所有其他可选参数都应该传递给脚本的其他部分。

使用 Google 我找到了这个 wiki,但它提供了一个文字示例:

echo "${@: -1}"

我无法进行其他任何工作,例如:

echo "${@:2}"

要么

echo "${@:2,1}"

我从终端收到“错误替换”。

问题是什么,除了传递给 bash 脚本的第一个参数之外,我该如何处理?


阅读 120

收藏
2022-03-08

共1个答案

小编典典

用这个:

echo "${@:2}"

以下语法:

echo "${*:2}"

也可以,但不推荐,因为正如已经解释的那样,使用*,它将所有参数作为带有空格的单个参数一起运行,同时@保留它们之间的中断(即使某些参数本身包含空格)。与
没有区别echo,但对许多其他命令很重要。

2022-03-08