Ho questa situazione:
./
./myscript.sh
./arguments.txt
./test.sh
All'interno myscript.sh
, devo eseguire il file test.sh
, passando ad esso gli argomenti contenuti all'interno arguments.txt
.
myscript.sh è:
arguments=$(cat arguments.txt)
source test.sh $arguments
Funziona bene se if argomenti.txt contiene al massimo un argomento:
firstargument
La sostituzione è:
++ source test.sh 'firstargument'
Ma il problema è con due o più argomenti. Lo fa:
++ source test.sh 'firstargument secondargument'
Inoltre, non conosco in anticipo il numero di argomenti all'interno arguments.txt
. Possono esserci zero o più.
source test.sh "$arguments"
tra virgolette? Questa sarebbe una spiegazione per la tua descrizione
source test.sh "$arguments"
ed source test.sh $arguments
entrambi risultano source test.sh 'firstargument secondargument'
.