我有一个名为foo的bash脚本,其参数可变,第一个是必需的,即:
foo a1 b2 b3 b4 ...
据我所知,在bash $ 1中我会得到参数a1,但有没有办法获得所有其他参数? $ @或$ *似乎得到了我所有的论据,包括a1。
答案 0 :(得分:6)
切片$@
数组。
echo "${@:2}"
答案 1 :(得分:2)
您可以使用shift命令。这将删除$ 1,您可以访问以$ 1开头的其余参数。
答案 2 :(得分:0)
#!/bin/sh
echo $*
shift
echo $*
shift
将移动所有参数,运行上一个示例将给出:
$ test_shift.sh a b c d e
a b c d e
b c d e
答案 3 :(得分:0)
./ foo.sh 1 2 3 4
#!/bin/bash
echo $1;
echo $2;
echo $3;
echo $4;
将输出:
1
2
3
4