Eu tenho essa situação:
./
./myscript.sh
./arguments.txt
./test.sh
Por dentro myscript.sh
, tenho que executar o arquivo test.sh
, passando para ele os argumentos contidos nele arguments.txt
.
myscript.sh é:
arguments=$(cat arguments.txt)
source test.sh $arguments
Isso funciona bem se if.txt contiver no máximo um argumento:
firstargument
A substituição é:
++ source test.sh 'firstargument'
Mas o problema está em dois ou mais argumentos. Faz o seguinte:
++ source test.sh 'firstargument secondargument'
Além disso, não sei de antemão o número de argumentos internos arguments.txt
. Pode haver zero ou mais.
source test.sh "$arguments"
com aspas? Isso seria uma explicação para sua descrição
source test.sh "$arguments"
e source test.sh $arguments
ambos resultam em source test.sh 'firstargument secondargument'
.