我试图告诉 unix 打印出传递给 Bourne Shell 脚本的命令行参数,但它不起作用。我在 echo 语句中得到 x 的值,而不是在所需位置的命令行参数。
这就是我要的:
./运行abcd
A B C D
这就是我得到的:
1 2 3 4
这是怎么回事?我知道 UNIX 根据我在 shell 脚本中引用的内容(变量 x 或第 x 位置的命令行参数)感到困惑。我该如何澄清我的意思?
#!/bin/sh
x=1
until [ $x -gt $# ]
do
echo $x
x=`expr $x + 1`
done
编辑:谢谢大家的回答,但现在我有另一个问题;如果您不想从第一个参数开始计算,而是从第二个或第三个参数开始计算呢?那么,我该怎么做才能告诉 UNIX 处理从第二个位置开始的元素,而忽略第一个?