【问题标题】:How to pass parameters to a Bash script?如何将参数传递给 Bash 脚本?
【发布时间】:2010-04-15 13:27:48
【问题描述】:

我有一个如下的 bash 脚本,我希望它读取两个日期作为参数,例如:myshell date1 date2。如何将参数分配给变量date1date2

sed "s/$date1/$date2/g" wlacd_stat.xml >tmp.xml
mv tmp.xml wlacd_stat.xml

【问题讨论】:

    标签: linux bash shell


    【解决方案1】:

    您在脚本中使用$1$2。例如:

    date1="$1"
    date2="$2"
    sed "s/$date1/$date2/g" wlacd_stat.xml >temp.xml
    mv temp.xml wlacd_stat.xml
    

    【讨论】:

      【解决方案2】:

      要迭代参数,您可以使用以下简写:

      #!/bin/bash
      for a
      do
          echo $a
      done
      

      此表单与for a in "$@"相同。

      【讨论】:

        【解决方案3】:

        Bash 参数以其位置命名。

        此外,如果您需要一个接一个地处理一个参数,您可以移动它们并始终使用$1

        while [ $# -gt 0 ]
        do
            echo $1
            shift
        done
        

        【讨论】:

          【解决方案4】:
          $0
          $1
          $2
          

          依此类推将包含脚本名称,然后是第一行和第二行参数。

          【讨论】:

            猜你喜欢
            • 2012-01-23
            • 2013-06-18
            • 2021-11-18
            • 2012-12-29
            • 1970-01-01
            • 2021-08-03
            • 1970-01-01
            • 1970-01-01
            • 1970-01-01
            相关资源
            最近更新 更多