2013-02-04 13 views
18

Yaşadığım bu örnek beti˘gim var:Geçiş args boru

Yani
echo /$1/ 

ben borusuna (ell) sh içine senaryo istiyorum

$ . ./script 5 
# output: /5/ 

çağırabilir, ancak can Ben de tartışmayı geçtim mi?

cat script | sh 
# output: // 

cevap

25

Sen -s seçeneğini kullanarak kabuğuna argümanlar iletebilirsiniz: tercihen

cat script | bash -s 5 
+2

Veya 'bash -s 5 chepner

+1

@chepner: Aslında bir dosyadan ve daha karmaşık bir boru hattından okuma yapıyor olsaydı, o zaman (ba) sh script 5 'yapmak daha iyi olurdu. – Matt

+0

, '-p 'benzeri (dash'ten başlayan) için işe yaramaz ' cat script | bash -s -a -b -c' http://stackoverflow.com/a/25563308/983232 –