【发布时间】:2010-04-15 13:27:48
【问题描述】:
我有一个如下的 bash 脚本,我希望它读取两个日期作为参数,例如:myshell date1 date2。如何将参数分配给变量date1 和date2?
sed "s/$date1/$date2/g" wlacd_stat.xml >tmp.xml
mv tmp.xml wlacd_stat.xml
【问题讨论】:
我有一个如下的 bash 脚本,我希望它读取两个日期作为参数,例如:myshell date1 date2。如何将参数分配给变量date1 和date2?
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
【讨论】:
要迭代参数,您可以使用以下简写:
#!/bin/bash
for a
do
echo $a
done
此表单与for a in "$@"相同。
【讨论】:
Bash 参数以其位置命名。
此外,如果您需要一个接一个地处理一个参数,您可以移动它们并始终使用$1:
while [ $# -gt 0 ]
do
echo $1
shift
done
【讨论】:
$0
$1
$2
依此类推将包含脚本名称,然后是第一行和第二行参数。
【讨论】: