python - 从 bash ubuntu 运行 python 命令

标签 python bash ubuntu openerp

我在我的 ubuntu 14.04 中安装了 odoo 8.0(以前称为 openerp)源
当我从终端尝试此命令(运行 odoo 服务器)时

python odoo.py

它运行正常。

但是,我怎么知道 python 命令的返回值呢?
我想看看命令是否正常运行,或者
这是引发异常吗?

所以我可以制作 *.sh 文件来运行该命令。

我试过这段代码
if [ -f odoo.py ]; then
    python odoo.py
    rc=$?;
    if [ $rc !=0 ]; then
        echo "Error when starting odoo-server,"
        echo "Odoo-server not started."
    else
        sleep 1
        echo "Odoo-server started."
    fi
else
    echo "Cannot found odoo.py"
    echo "Odoo-server not started."
fi

但是,当命令失败时
它总是给我这个输出
Odoo-server started

任何人都可以帮助我吗?

最佳答案

你的间距是错误的:

    if [ $rc !=0 ]; then

应该:
    if [ $rc != 0 ]; then

但那是文本测试,算术测试将是:
    if [ $rc -ne 0 ]; then

或者最好:
    if (( rc != 0 )); then

但是,更好的方法是:
if python odoo.py
then
    sleep 1
    echo "Odoo-server started."
else
    echo "Error when starting odoo-server," >&2
    echo "Odoo-server not started." >&2
fi

关于python - 从 bash ubuntu 运行 python 命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35910301/

相关文章:

node.js - 编辑组件 html 时 Angular CLI 不会重新加载?

ubuntu - 通过 Chef solo 和 Vagrant 安装 apt 包

python - 给定扁平列表中的索引,获取原始列表项的索引

linux - 如何使 bash 命令回显线变为绿色

bash - 在数组中使用 grep

linux - 如何在 Linux 中返回多个文件中的字符串计数

java - 我怎么知道java jdk是否安装了

python - 汇编的十六进制内存地址

Python 将 xml 解析为数据帧,无需明确命名标签

python - 我怎样才能在结尾处写一个理解列表?