【问题标题】:How to Pass More then 10 argument in ShellScript如何在 Shell 脚本中传递超过 10 个参数
【发布时间】:2017-09-27 10:48:56
【问题描述】:
 sed  -e "s/${MyToken}/${arg}/g" file

'arg' 的值在第 9 个参数之前工作正常。在第 10 个参数之后它失败了

【问题讨论】:

  • 第9个和第10个参数的值是多少?
  • 写下完整的代码和错误,因为这对我有用。 shell 脚本最多可包含 255 个参数,并且使用 ${} 它应该可以工作
  • 语法${10} 很好。示例:set $(seq 10); echo ${10}

标签: linux shell unix


【解决方案1】:

这是一个例子:

#!/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

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

Shift 将参数向左移动,所以在一个循环之后$1 变为 b,依此类推。

【讨论】:

    猜你喜欢
    • 2015-05-15
    • 1970-01-01
    • 2012-12-27
    • 1970-01-01
    • 2020-08-27
    • 1970-01-01
    • 2011-10-10
    • 2015-12-20
    • 2022-09-27
    相关资源
    最近更新 更多