2013-06-23 46 views
1
#!/usr/bin/env bash 

我正在使用python中的bash命令我在紅帽子雜誌中發現這個例子tail命令不會產生任何輸出。我想了解它爲什麼失敗,我也試圖導入子進程,但只是掛起。Bash命令尾部未能在python中產生輸出

#Create Commands**strong text** 
SPACE=`df -h` 
MESSAGES=`tail /var/log/messages` 

#Assign to an array(list in Python) 
cmds=("$MESSAGES" "$SPACE") 

#iteration loop 
count=0 
for cmd in "${cmds[@]}"; do 
    count=$((count + 1)) 
    printf "Running Command Number %s \n" $count 
    echo "$cmd" 
done 

回答

1

打印命令並不意味着執行它。看看Python的subprocess圖書館的API和例子來做你想做的事情。

+1

謝謝你的回覆我可以通過導入子進程並使用subprocess.call =([「tail」,「-f」,「/ var/log/messages」])來得到它我仍然需要工作了解如何讓它退出。我看過帖子引用了exit1,shell = true。這是今晚要學習的路線。再次感謝。 – ArnoldDent