我正在使用名为dc_shell的软件,该软件在CentOS Linux服务器上具有终端命令(也称为dc_shell)。当我运行dc_shell命令时,我已连接到它的终端,并且能够在其中运行脚本/命令。 (这是全部手动完成的)从python打开终端应用程序并在其中运行自定义脚本
所以真正的问题是我想从Python程序中完成这项任务。这意味着我有一个执行某项任务的Python代码,之后必须打开dc_shell
并在其中运行一些命令。
我以前使用过subprocess.Popen
,当我运行诸如ls
或其他通用终端命令的命令时,这没有任何问题。但是当我运行dc_shell
命令时,它好像崩溃了,什么也没有发生,当我尝试终止会话时,在终端中出现以下错误。
这里是我的代码:
def run_scripts():
commandtext = 'cd ..; dc_shell-xg-t; set_app_var link_library "slow.db"; set_app_var target_library "slow.db"; set_app_var symbol_library "tsmc18.sdb";'
print(commandtext)
process = subprocess.Popen(commandtext,stdout=subprocess.PIPE, shell=True)
proc_stdout = process.communicate()[0].strip()
print(proc_stdout)
,输出是:
cd ..; dc_shell-xg-t; set_app_var link_library "slow.db"; set_app_var target_library "slow.db"; set_app_var symbol_library "tsmc18.sdb";
,并没有任何反应......和终止后,我得到:
[[email protected] python]$ /bin/sh: set_app_var: command not found
/bin/sh: set_app_var: command not found
/bin/sh: set_app_var: command not found