这是别人写的一个粗略的 korn shell 脚本。我对使用 shell 语法不太了解,我什至不确定这是否可行。
有什么方法可以让我运行这个文件并提示输入日期,这样我就不必每次都手动进入脚本并更改它?
例如,我想将“1/12/09”替换为从用户提示符中获取的变量。
#!/bin/ksh
./clear_old
./rooms_xls.pl 1/12/09
cd doors
./doors_xls.pl 1/12/09
如果您希望收到提示(而不是将日期作为参数传递),请使用以下逻辑(或类似的逻辑):
date=
while [ -z $date ]
do
echo -n 'Date? '
read date
done
该循环将继续提示输入日期,直到用户输入除简单 RETURN 之外的其他内容(任何内容)。
如果您想添加一些简单的验证,并且您正在使用以下版本
KSH 是 KSH93 或更好,请执行以下操作:
date=
while [ -z $date ]
do
echo -n 'Date? '
read date
if [[ $date =~ ^[0-9]{1,2}/[0-9]{1,2}/[0-9]{1,4}$ ]]
then
break
fi
date=
done
See ksh93 手册页 http://docs.oracle.com/cd/E23824_01/html/821-1461/ksh93-1.html#scrolltoc了解更多信息。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)