如何将参数传递给Linux Bash脚本?

时间:2010-04-15 13:27:48

标签: linux bash shell

我有一个Linux bash脚本'myshell'。我希望它将两个日期作为参数读取,例如:myshell date1 date2。我是一名Java程序员,但不知道如何编写脚本来完成这项工作。

脚本的其余部分是这样的:

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

4 个答案:

答案 0 :(得分:73)

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

date1="$1"
date2="$2"
sed "s/$date1/$date2/g" wlacd_stat.xml >temp.xml ;mv temp.xml wlacd_stat.xml #Semicolon can also replaced with a newline

答案 1 :(得分:9)

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

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

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

答案 2 :(得分:7)

Bash参数以其位置命名。

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

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

答案 3 :(得分:6)

$ 0    $ 1    $ 2

等等将包含脚本名称,然后是第一行和第二行参数。

相关问题