如果你在python中有一个列表,并且你想要从2到n的元素可以做一些很好的事情,比如
list[2:]
我想在Bash中使用与argv类似的东西。我想将$ 2中的所有元素传递给argc到命令。我目前有
command $2 $3 $4 $5 $6 $7 $8 $9
但这不是优雅的。会是“适当”的方式吗?
答案 0 :(得分:67)
你也可以做“切片”,$@
获取bash中的所有参数。
echo "${@:2}"
从第二个论点开始
例如
$ cat shell.sh
#!/bin/bash
echo "${@:2}"
$ ./shell.sh 1 2 3 4
2 3 4
答案 1 :(得分:4)
将$1
存储在某处,然后shift
并使用$@
?
答案 2 :(得分:4)
script1.sh:
#!/bin/bash
echo $@
script2.sh:
#!/bin/bash
shift
echo $@
$ sh script1.sh 1 2 3 4
1 2 3 4
$ sh script2.sh 1 2 3 4
2 3 4