2015-12-02 100 views
0
#!/bin/bash 

#================= 
function func1 { 
#================= 

echo "I have chickens" 

func2 100 

} 
#================ 
function func2 { 
#================ 

number=$1 

python << END 

print "I have", number, "chickens" 

END 
} 

func1 

在bash中我想通過func2的一個參數。在func2中,我想用python打印參數。如何將參數從bash腳本傳遞給使用python的函數?

希望的輸出:

我有雞

我有100只雞

+1

Python可以採用類似於bash的方式引用參數。你聽說過[sys](https://docs.python.org/2/library/sys.html#sys.argv)嗎? –

回答

4

普通的bash字符串變量替代的工作原理:

$ export n=3 
$ python << END 
> print "I have ${n} chickens" 
> END 

輸出:

I have 3 chickens 

正因爲如此,如果你想繼續你的(相當不尋常的)方法,你必須非常小心地。更常見的方法是將Bash和Python程序放在單獨的文件中,並使用一些命令行參數從Bash腳本運行Python腳本。然後你可以從Python訪問它們,如sys.argv,或者,如果你想做更復雜的事情,可以使用argparse

相關問題