我有一个非常基本的脚本,一直没有找到命令。我看过这个网站,找不到适合我的答案。 bash的路径是正确的。我用od检查了脚本。我运行dos2unix。这些都没有帮助我。
SCRIPT:
#!/bin/bash
HYBRISPROC=`ps -eo pid,command | grep [h]ybris | grep -v grep | awk '{print $1}'`
echo "Looking for Hybris..."
echo $HYBRISPROC
结果:
./HybrisStopStart.sh: line 5: ps: command not found
./HybrisStopStart.sh: line 5: grep: command not found
./HybrisStopStart.sh: line 5: awk: command not found
./HybrisStopStart.sh: line 5: grep: command not found
Looking for Hybris...
有什么想法吗?如果我自己运行命令它工作正常。我已经尝试过它作为sudo以及相同的结果。
TIA
答案 0 :(得分:1)
怎么样?
#!/bin/bash
HYBRISPROC=`ps -eo pid,command | grep [h]ybris | grep -v grep | awk '{print $1}'`
echo "Looking for Hybris..."
echo "$HYBRISPROC"
(OR)
#!/bin/bash
HYBRISPROC="ps -eo pid,command | grep [h]ybris | grep -v grep | awk '{print $1}'"
echo "Looking for Hybris..."
bash -c "$HYBRISPROC"
(OR)
#!/bin/bash
HYBRISPROC="ps -eo pid,command | grep [h]ybris | grep -v grep | awk '{print $1}'"
echo "Looking for Hybris..."
eval "$HYBRISPROC"
<强>完全以:强>
你可以看到差异:
#!/bin/bash
LS=`ls -l`
echo $LS #nasty way
echo
echo "$LS" #good way
答案 1 :(得分:1)
尝试添加
PATH = “$ PATH:在/ usr / bin中:/ BIN”
在代码之前。看起来bin目录不在你的路径上。所以找不到命令。