Ich habe diese Situation:
./
./myscript.sh
./arguments.txt
./test.sh
Im Inneren myscript.shmuss ich die Datei ausführen und die test.shdarin enthaltenen Argumente an sie übergeben arguments.txt.
myscript.sh ist:
arguments=$(cat arguments.txt)
source test.sh $arguments
Dies funktioniert gut, wenn argements.txt höchstens ein Argument enthält:
firstargument
Die Substitution ist:
++ source test.sh 'firstargument'
Das Problem liegt jedoch bei zwei oder mehr Argumenten. Es macht das:
++ source test.sh 'firstargument secondargument'
Außerdem weiß ich nicht im Voraus, wie viele Argumente darin enthalten sind arguments.txt. Es kann null oder mehr geben.
source test.sh "$arguments"mit Zitaten? Das wäre eine Erklärung für Ihre Beschreibung
source test.sh "$arguments"und source test.sh $argumentsbeide führen zu source test.sh 'firstargument secondargument'.