2014-04-23 14 views
5

Başhekim komut dosyası çalışırken komut satırı argümanları olarak eklemem gereken bir dizi dosya ismim var. Ayrı bir dosya ("test.txt" gibi) kullanarak komut satırı bağımsız değişkenleri vermenin herhangi bir yolu var mı?Bir metin dosyası kullanarak komut satırı bağımsız değişkenleri nasıl alınır?

Şimdi bu varsayalım dosyalar şunlardır: fileA, fileB, FileC, FileC, FileD ve en Yanlış soruyu anlamak bash komut testBash.sh

+1

argümanlar sınama.txt dosyadaki? –

+0

'testBash' dosyasını değiştirebilir misiniz? –

+0

Merhaba Rahul, Evet argümanlar bir test.txt dosyasındadır –

cevap

3

. varsayalım file içerik

A 
B 

ve bash komut dosyası s içeriği daha sonra

echo $1 
echo $2 
echo [email protected] 

geçerli:

cat file | xargs ./s 

A 
B 
A B 
+0

Merhaba, طاهر Yardımlarınız için çok teşekkür ederim ... :) Bunun nasıl yapılacağı hakkında net bir şekilde bahsettiniz .... :) –

+2

Birisi, xargs'ın bir argüman listesini, rasgele bir yerde aynı komutun birden çok çağrısına bölüştürebildiğini hatırlamalıdır. Yani uzun listeler için uygun değil. (Uygulamada, bu ARG_MAX yakınında yapılır, ancak bu garanti edilmez.) – Netch

3

olduğunu varsayalım ve test.txt istediğiniz dosya adlarının bir listesini içerir testBash.sh geçmek, böyle bir şey yapmak mümkün olmalıdır: evet kolayca xargs kullanılarak

cat test.txt | testBash.sh 
+0

Teşekkür ederim Mureinik, işe yaradı ... :) –

İlgili konular