Bash脚本问题,未找到命令,路径似乎正确

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 //

我的脚本有问题,我只是想弄清楚我的屏幕会话是否正在运行(第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 // 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(调试)输出中放置一个路径: