我有shell脚本可以工作(做我想做的事情,查找列出的用户是否在线),但每次丢弃错误“line [8]期望参数[”。我尝试过使用==但同样的事情。这是我的代码:
#!/bin/sh
truth=0;
until [ $truth -eq 1 ]
do
for i; do
isthere=$(who is here | awk '{print $1}' | grep $i)
if [ $isthere = $i ] #(8 line is here)
then
echo "found user: "$isthere". program now will close.";
exit 0;
fi
done
echo "user not found, retrying after 3sec...";
sleep 3;
done
感谢您的帮助和时间。
答案 0 :(得分:1)
看起来$isthere
或$i
为空。你应该引用它们:if [ "$isthere" = "$i" ]
在其他新闻中:大多数分号都没用;分号不是语句终结符,而是语句分隔符,以及换行符。