python - 依次运行多个命令行 linux python

标签 python linux perl shell

我想在完成前一个命令后在同一行中运行多个命令。

我在 python 脚本中执行以下操作:

os.system("start_view myView && perl /home/user/Development/count_test.pl -rev 001 -project myproject && /usr/bin/python /home/user/Development/setDoneFlag_Count_Lines.py")

首先我在clearcase start_view myview中设置了一个 View ,然后我想执行一个perl程序。问题是它没有,它只是设置 View (我需要它来执行 perl 程序)但它从未真正启动 perl 程序,所以问题是我做错了什么吗?似乎start_view myView 启动了一个新的shell,那么如何在 View 启动的新创建的shell 中执行perl 脚本呢?

提前致谢。

最佳答案

一般来说,多个依赖命令在从 os.system() 调用时应该起作用:

>>> rv = os.system("ls /dev/null && grep mhawke /etc/passwd")
/dev/null
mhawke:x:1000:1000:mhawke:/home/mhawke:/bin/bash
>>> rv
0

但是,如果一个命令失败(由非零退出状态确定),则不会执行以下命令:

>>> rv = os.system("ls /phantom && grep mhawke /etc/passwd")
ls: cannot access /phantom: No such file or directory
>>> rv
512

那么,您确定 start_view 返回退出代码 0 吗?您确定 start_view 完全返回了吗? - 是否可以阻止等待输入。您确定该命令实际上不是 startview myView

您可以通过在命令行上执行此命令找到答案:

$ start_view myView
$ echo $?

如果它显示 0,则尝试链中的下一个命令,直到找到罪魁祸首。

关于python - 依次运行多个命令行 linux python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30398074/

相关文章:

python - Seaborn:如何在 catplot 中设置自定义 "hue"标签而不是自动标签

python - 分割多个细胞的图像并 split 成单个细胞

linux - 我正在尝试在 linux 上构建一个程序

linux - 需要共享 (.so) 库之间的循环依赖

perl - 检测单行中的第一个或第二个文件

python - 为什么 Python 尝试自动编码我的 Unicode 字符串?

python - 使用未观察到的组件模型模拟时间序列

带有子进程的 Python

perl - 使用 MooseX::Declare 的性能下降主要是在启动过程中遇到的吗?

perl - 父级和@ISA 之间有什么区别?