2014-04-23 13 views
5

Ho un set di nomi di file che devo inserire come argomenti da riga di comando mentre il mio script di bash è in esecuzione. C'è un modo per dare argomenti della riga di comando usando un file separato (come "test.txt")?Come ottenere gli argomenti della riga di comando utilizzando un file di testo?

Supponiamo che questi sono i file: fileA, fileB, FileC, FileC, FileD, e supponiamo che lo script bash è testBash.sh

+1

argomenti sono in test.txt di file? –

+0

puoi modificare il file 'testBash'? –

+0

Ciao Rahul, Sì gli argomenti sono in un file test.txt –

risposta

3

sì facilmente utilizzando xargs. assumere file contenuto è

A 
B 

e il file di script bash contenuti s è

echo $1 
echo $2 
echo [email protected] 

poi:

cat file | xargs ./s 

A 
B 
A B 
+0

Ciao, طاهر Grazie mille per il tuo aiuto ... :) hai chiaramente menzionato su come farlo .... :) –

+2

Uno dovrebbe ricordare che xargs può dividere un elenco di argomenti in più invocazioni dello stesso comando, in un posto arbitrario. Quindi non è corretto per lunghe liste. (In pratica, questo è fatto vicino a ARG_MAX, ma questo non è garantito.) – Netch

3

Se ho capito bene la questione, e test.txt contiene un elenco di nomi di file che si desidera per passare a testBash.sh, si dovrebbe essere in grado di fare qualcosa del genere:

cat test.txt | testBash.sh 
+0

Grazie Mureinik, ha funzionato ... :) –

Problemi correlati