簡體   English   中英

Bash + Python子進程“聲明”

[英]Bash + Python subprocess “declare”

以下代碼返回: /bin/sh: declare: not found任何幫助。

PS。 傳遞[“ declare”,“-a”]或此類的任何組合都不起作用。

#!/usr/bin/python
import subprocess

def dcl():
    proc = subprocess.Popen(["declare -a ids"], shell=True, stdout=subprocess.PIPE);
    proc_value = proc.communicate()[0];
    return proc_value

好的,謝謝您的幫助。 傳遞["declare","-a","ids"]["declare","-a ids"]沒有幫助。 但是,由於某種原因,我沒有得到,添加:

executable = "/bin/bash"

解決了這個問題。 是的,有點奇怪。 無論如何,感激不盡!

嘗試:

在process.py中:

#!/usr/bin/python
import subprocess

def dcl():
    proc = subprocess.Popen(["declare", "-a ids"], shell=True, stdout=subprocess.PIPE)
    proc_value = proc.communicate()[0]
    return proc_value

print dcl()

使用示例輸出執行:

[avasal@avasal]# python process.py
BASH=/bin/sh    
BASH_ALIASES=()
BASH_ARGC=([0]="0")
BASH_ARGV=()
BASH_CMDS=()
BASH_EXECUTION_STRING=declare
BASH_LINENO=()
BASH_SOURCE=()
. # More data
. # More data
. # More data
. # Some More data
_=/usr/bin/python

[avasal@avasal]#

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM