如何在Shell脚本中传递超过10个参数

4
 sed  -e "s/${MyToken}/${arg}/g" file

'arg'的值在前九个参数中运作良好,但在第十个参数后失败了。


第9个和第10个参数的值是多少? - Zumo de Vidrio
1
请提供完整的代码和错误信息,因为这对我有效。Shell脚本最多接受255个参数,并且使用${}应该可以正常工作。 - Amarpreet Singh
可能是在Bash脚本中使用命令行参数的重复问题。 - ceving
${10} 的语法是正确的。例如:set $(seq 10); echo ${10} - ceving
1个回答

0
这是一个例子:
#!/bin/ksh   
echo There is $# parameters
while [ $# -ne 0 ]; do
         echo $1
         shift
    done

输出:

     Will:/home> ./script a b c d e f g h i j k l m n o p q r s t u v w x y z
     There is 26 parameters
        a
        b
        c
        d
        e
        f
        g
        h
        i
        j
        k
        l
        m
        n
        o
        p
        q
        r
        s
        t
        u
        v
        w
        x
        y
        z

$#计算传递给脚本的参数数量。

Shift将参数向左移动,因此经过一次循环后,$1变成了b,以此类推。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接