如何将parameter passing给Linux Bash脚本?

我有一个Linux bash脚本“myshell”。 我希望它读取两个date作为参数,例如: myshell date1 date2 。 我是一名Java程序员,但不知道如何编写脚本来完成此任务。

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

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

例如,在脚本中使用$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 

要遍历参数,可以使用这个简写:

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

这种forms与for a in "$@"

Bash的参数是以它们的位置命名的。

而且,如果您需要处理另一个参数,您可以移动它们并始终使用$1

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

$ 0 $ 1 $ 2

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