2014-01-14 25 views
0

我出口:出口在bash與printf的doen't工作

export FMTSTR="%2\$n'printf "\xc0\xf2\x03\x42";'" 

,我想看到的結果:

env | grep FMTSTR 
FMTSTR=%2$n'printf xc0xf2x03x42;' 

但這不是我想要的......結果必然是:

‫‪FMTSTR=%2$nTB‬‬ 

你能告訴我什麼是問題嗎? 其次我可以用python代替printf嗎?像這樣:

export FMTSTR="%2\$n $(python -c 'print "\xc0\xf2\x03\x42"')" 

當我使用Python的結果是:

FMTSTR=%2$n ��B 

爲什麼呢? 請給我這兩個問題的幫助。

謝謝...

+0

你能告訴我們一個「理想輸出」嗎?你最終想要的是什麼? – Goodies

+0

我告訴朋友。結果必須是:FMTSTR =%2 $ nTB – MLSC

+0

@Goodies有什麼想法? – MLSC

回答

1

這是不完全正確的(因爲你的問題的性質),但我覺得你可能使用這個有更好的運氣:

export FMTSTR=`python -c 'print "%2$n\xc0\xf2\x03\x42"'` 

現在,\xc0\xf2\x03沒有ascii相當於。我不知道你如何期待輸出結核病。