Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在shell脚本中分配变量_Shell_Unix - Fatal编程技术网

在shell脚本中分配变量

在shell脚本中分配变量,shell,unix,Shell,Unix,我想使用比$更好的变量?存储上一行的结果,因为我可能需要它多次。脚本用于检查文件newlog.log的最后一行是否有特定的字符串,然后再次启动sbc.jar,因为该字符串确认程序已停止 将其存储在另一个变量中: #!/bin/sh SUCCESS=0 java -jar sbc.jar & while [ true ]; do echo "sleeping" sleep 5 echo "again" tail -1 ~/NetBeansProjects/xyz/dist/newlog.

我想使用比$更好的变量?存储上一行的结果,因为我可能需要它多次。脚本用于检查文件
newlog.log
的最后一行是否有特定的字符串,然后再次启动
sbc.jar
,因为该字符串确认程序已停止

将其存储在另一个变量中:

#!/bin/sh
SUCCESS=0 
java -jar sbc.jar &
while [ true ];
do
echo "sleeping"
sleep 5
echo "again"
tail -1 ~/NetBeansProjects/xyz/dist/newlog.log | grep -q "[INFO ] - Stream closed"
if  [ $? = 1 ]
then
echo " entered if "
java -jar sbc.jar &
else 
echo " did not if "
fi
done

谢谢我之前在RES后面加了一个空格,这使得它成为一个未知变量。空格是shell脚本的一个问题:P。非常感谢:)不客气。我经常犯那个错误。对我来说,另一个最常见的问题是没有在条件句之后[和之前]留下空格。请接受这个答案,以节省其他人的时间。我昨天发现:DI会接受的。它显示5分钟太少,无法接受。现在完成!:)
...
tail -1 ~/NetBeansProjects/xyz/dist/newlog.log | grep -q "[INFO ] - Stream closed"
RES=$?
if  [ $RES = 1 ]
...