我需要從shell腳本執行我的python程序,以便我的python程序中的打印命令可以從另一個程序讀取。 shell腳本:從shell腳本中將參數插入python程序
#!/bin/bash
if [ $# -lt 1 ] || [ $# -gt 2 ];then
echo "Usage: $0 APK <duration in seconds>"
exit 1;
fi
printf "$(python '/root/Desktop/DroidBox_4.1.1/scripts/droidbox.py' $1 $2 -c 'import sys; exec sys.stdin.read()')"
我的Python程序應該得到parametrs $ 1和$ 2,但它不承認那些爲parametrs之後卻服用-C和命令作爲parametrs。
對於像這樣的答案:在我的其他項目中獲取流程輸入流對我無效。似乎工作的唯一方法是使用-c選項和命令'exec sys.stdin.read()'。
謝謝。
'droidbox.py'是什麼樣的?如果你在該腳本中打印(sys.argv)',它會顯示什麼? –
我不會直接在printf中使用python輸出,而是使用'printf'%s「」$(python ...' 然後,它應該讀取什麼輸入,shell腳本的stdin? 另外,as測試,您可以分配$ 1和$ 2的變量,然後在調用droidbox.py時使用變量名稱,以避免有人弄亂位置參數。 –