在bash中获取位置参数

时间:2012-09-25 23:15:13

标签: bash

我有一个名为foo的bash脚本,其参数可变,第一个是必需的,即:

foo a1 b2 b3 b4 ...

据我所知,在bash $ 1中我会得到参数a1,但有没有办法获得所有其他参数? $ @或$ *似乎得到了我所有的论据,包括a1。

4 个答案:

答案 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