2017-07-20 42 views
1

我想通過兩個目錄到我的python腳本,只是打印出目錄。但不知何故,它不工作。下面是代碼如何將目錄作爲參數傳遞給使用shell命令的python腳本?

shellscript.sh:

set VAR1=$(pwd) 
echo $VAR1 
set VAR2=$(pwd) 
echo VAR2 
python.exe mypython_script.py "$VAR1" "$VAR2" 

mypython_script.py:

import os 
import sys 

if __name__ = '__main__': 
    print(sys.argv[1]) 
    print(sys.argv[2]) 

echo正在打印的路徑,但終端也確實打印腳本調用線。其中顯示python.exe mypython_script.py '' '',然後打印語句正在打印空字符串。有誰能指出我的問題在哪裏?謝謝

+0

你確定應該調用python.exe而不是python嗎? –

+0

@LukasIsselbächer是啊。腳本正在運行但打印空字符串 –

+1

刪除'set'命令。所以你應該有'VAR1 = $(pwd)'。 –

回答

3

你的問題是與

set VAR1=$(pwd) 

您應該使用

VAR1=$(pwd) 

代替。

+1

你也不需要運行'pwd'; 'bash'已經有一個shell參數'PWD',擴展爲當前工作目錄的名稱。設置'VAR1'是多餘的。 – chepner

+0

大家好,謝謝大家的寶貴意見。正如答案部分所述,刪除SET標識符後,腳本工作正常。 :) –

+0

此外,我想知道是否有可能,我可以阻止終端顯示腳本的參數。因爲路徑很長,所以沒有必要。 –

相關問題