Bash脚本问题,未找到命令,路径似乎正确
我的脚本有问题,我只是想弄清楚我的屏幕会话是否正在运行(第19行)。 脚本的其余部分正在工作Bash脚本问题,未找到命令,路径似乎正确,bash,Bash,我的脚本有问题,我只是想弄清楚我的屏幕会话是否正在运行(第19行)。 脚本的其余部分正在工作 #!/bin/bash echo $PATH // /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games echo "0" content=$(wget http://interwebs.com/index.php?page=count -q -O -) z=$(($content / 5)) z=$(($z + 1)) echo $z //
#!/bin/bash
echo $PATH // /usr/local/bin:/usr/bin:/bin:/usr/local/games:/usr/games
echo "0"
content=$(wget http://interwebs.com/index.php?page=count -q -O -)
z=$(($content / 5))
z=$(($z + 1))
echo $z // 4
lockfile=/var/tmp/mylock
if ( set -o noclobber; echo "$$" > "$lockfile") 2> /dev/null; then
trap 'rm -f "$lockfile"; exit $?' INT TERM EXIT
# do stuff here
x=1
count=0
while [ $x -le $z ]
do
$req ="$(ps -ef | grep -i mystatus$count | grep -v grep)"
if [ "$req" = "" ]; then
# run bash script
screen -amds mystatus$count /usr/bin/wget --spider interwebs.com/index.php?page=cronwhatsoever$(( $count +1))-$(( $count +5))
else
echo "Cron running"
fi
x=$(( $x + 1 ))
count=$(( $count +5))
done
# clean up after yourself, and release your trap
rm -f "$lockfile"
trap - INT TERM EXIT
else
echo "Lock Exists: $lockfile owned by $(cat $lockfile)"
fi
sleep 15
它返回第19行:=:未找到命令。实际运行:
ps -ef | grep -i bukkit | grep -v grep
如果我直接在终端上运行它,它就可以正常工作,那么你知道如何解决这个问题吗
我猜它与路径有关,但grep位于/bin/grep中
$req ="$(ps -ef | grep -i mystatus$count | grep -v grep)"
应该是
req="$(ps -ef | grep -i mystatus$count | grep -v grep)"
不要在作业的左手边使用
$
,而且=
Hi@Neoon周围也不能有空格。为什么不在脚本的开头放一个set-x
?对我来说,是ps-ef
造成了问题。您应该在itset-x(调试)输出中放置一个路径: