当我在此 bash 脚本中运行 C 程序时,它返回错误。
ssh -n -f *.*.*.* "cd /home/sth/remote && echo "$1" && det=$(./ossec-rootcheck)">/home/sthh/res
错误:
./ossec-rootcheck: No such file or directory
我想通过 ssh 连接到一台远程机器,然后在它上面运行一个程序。我知道该文件位于该路径中,因为当我如您所见编辑它时,它可以工作。
ssh -n -f *.*.*.* "cd /home/sth/remote && echo "$1" && ./ossec-rootcheck">/home/sthh/res
当它 echo $1
时,我可以看到它 cd/home/sth/remote
是正确的。但我希望将该程序的返回值存储在一个变量中,例如 det
。
最佳答案
ssh -n -f *.*.*.* "cd /home/sth/remote; echo "$1"; ./ossec-rootcheck || do_your_work">/home/sthh/res
您不必将其存储在变量中。
||如果 ossec-rootcheck 的退出状态执行 do_your_work != 0
如果你想将数字退出状态存储在一个变量中,或者回显它,你可以这样做(使用适当的转义):
./ossec-rootcheck; ecode=$?; echo $ecode
关于c - 在 Bash 脚本中运行 C 程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18849557/