这是其他人写的粗糙的korn shell脚本.我不太了解使用shell语法,我甚至不确定这是否可行.
有没有办法让我运行这个文件并被提示输入日期,这样我就不必手动进入脚本并每次更改它?
例如,我想将"1/12/09"替换为从用户提示中获取的变量.
#!/bin/ksh ./clear_old ./rooms_xls.pl 1/12/09 cd doors ./doors_xls.pl 1/12/09
Brian Clappe.. 18
如果要提示(而不是将日期作为参数传递),请使用以下逻辑(或类似的东西):
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
有关更多信息,请参见ksh93手册页.
如果要提示(而不是将日期作为参数传递),请使用以下逻辑(或类似的东西):
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
有关更多信息,请参见ksh93手册页.