2013-10-30 62 views

回答

5
$ test=$(python -c "print 'hello'") 
$ echo $test 
hello 

(作爲一個側面說明...) 如果要保留換行,請使用echo報價:

$ test=$(python -c "for i in range(3): print 'hello'") 
$ echo $test 
hello hello hello 
$ echo "$test" 
hello 
hello 
hello 

最後一個小貼士:

使Perl自身成了一個襯墊比Python好一點。我傾向於做這樣的事情,而不是強迫蟒蛇成爲一種語言,它不是:

$ test=$(python -c " 
> import math 
> import sys 
> 
> for x in sys.argv[1:]: 
> print '2pi R of {}={}'.format(x,float(x)*2*math.pi) 
> " 1 2.4 5 6.6) 
$ echo "$test" 
2pi R of 1=6.28318530718 
2pi R of 2.4=15.0796447372 
2pi R of 5=31.4159265359 
2pi R of 6.6=41.4690230274 
+0

Thx這麼多,作品像一個魅力!你碰巧有這個人的鏈接? PS:我只是做一些簡單的日期格式化,因爲我所有的腳本都在python中,我想在我的shell腳本中使用python而不是perl。 1依賴比2好:) – radtek

+0

這是我在做什麼:python -c'import datetime; now = datetime.datetime.now(); print「/{0:04d}/{1:02d}/{2:02d}".format(now.year,now.month,now.day)' – radtek

+0

in perl它更乾淨,perl -e'print strftime「%Y /%m /%d」,本地時間時間-86400;' – radtek