J'ai cette situation:
./
./myscript.sh
./arguments.txt
./test.sh
À l'intérieur myscript.sh
, je dois exécuter le fichier test.sh
, en lui passant les arguments contenus à l'intérieur arguments.txt
.
myscript.sh est:
arguments=$(cat arguments.txt)
source test.sh $arguments
Cela fonctionne bien si if arguments.txt contient au plus un argument:
firstargument
La substitution est:
++ source test.sh 'firstargument'
Mais le problème vient de deux ou plusieurs arguments. Il fait ceci:
++ source test.sh 'firstargument secondargument'
De plus, je ne connais pas à l'avance le nombre d'arguments à l'intérieur arguments.txt
. Il peut y en avoir zéro ou plus.
source test.sh "$arguments"
d' écrire avec des citations? Ce serait une explication pour votre description
source test.sh "$arguments"
et les source test.sh $arguments
deux aboutissent source test.sh 'firstargument secondargument'
.