如何将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
等将包含脚本名称,然后是第一和第二行参数。