gpt4 book ai didi

bash - ubuntu bash脚本没有运行

转载 作者:行者123 更新时间:2023-12-04 19:12:10 25 4
gpt4 key购买 nike

下面是我的脚本,该脚本旨在检查“python3.6”进程是否正在运行。

如果它没有运行,则执行 python 代码,否则退出 0。

我没有从这个 bash 脚本中看到任何运行 python 的事件或进程。

请帮助我了解我是否编写了错误的脚本。

任何帮助是极大的赞赏。

提前致谢。

#!/bin/bash

ps x |grep -v grep |grep -c "python3.6"
if [ $? -eq 0 ]; then
bash -c "/home/ubuntu/anaconda3/bin/python3.6 /var/lib/pythoncode/main_progm.py >> /home/ubuntu/Logs.txt"
fi

# End of Script

最佳答案

if [ $? -eq 0 ]; then意思是“如果最后一个命令没有错误退出”。 grep找不到东西时返回错误结果;所以你的if说“如果你找到一个 Python 进程,运行另一个 Python 进程,否则没关系”。所以你的代码没有找到 Python 进程,所以永远不会启动一个(错误地认为孤独的生活根本就不是生活)。

您可以通过多种方式更改它。您可以更改-eq-ne .

或者您甚至不需要显式比较退出代码,因为这就是 if做。你可以写:

if ps x | grep -v grep | grep -c python3.6
then
# grep found stuff and exited with $? == 0
echo Oops, still running
else
# grep failed and exited with $? != 0
echo Good to go, run it
fi

或者您可以使用您生成的计数:
pythoncount=$(ps x |grep -v grep |grep -c "python3.6")
if [ $pythoncount -eq 0 ]

关于bash - ubuntu bash脚本没有运行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51605357/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com