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