在我的程序中,我必须检查用户输入的命令是否存在,如果存在,程序需要检查该命令的参数是否正确。
例如:
ls
(是正确的)-al
(是正确的)如果我这样做:
ls
(是正确的)-kala
(不正确)我怎么能这样做?这是我的剧本:
while true
do
echo "Insert the command"
read comm
if [ "$(type -t $comm)" != "" ]; then
echo "Insert the parameters of the command ";
read par;
echo "Insert the time of watch";
read time;
if [ $t -le 0 ]; then
echo "Value not correct";
else
clear;
while true
do
echo "$comm"
date
echo ""
$comm $par
sleep $((time))
clear
done
fi;
else
echo "Command not found, retry.";
echo "";
fi
done
答案 0 :(得分:1)
您可以使用以下命令替换命令调用:
if ! $comm $par; then
exit 1
fi
使错误后停止。还有一个名为watch
的工具,但我想你已经知道了。