Saya punya situasi ini:
./
./myscript.sh
./arguments.txt
./test.sh
Di dalam myscript.sh, saya harus menjalankan file test.sh, menyampaikan argumen yang terkandung di dalamnya arguments.txt.
myscript.sh adalah:
arguments=$(cat arguments.txt)
source test.sh $arguments
Ini berfungsi dengan baik jika jika arguments.txt berisi paling banyak satu argumen:
firstargument
Substitusi adalah:
++ source test.sh 'firstargument'
Tetapi masalahnya adalah dengan dua atau lebih argumen. Ia melakukan ini:
++ source test.sh 'firstargument secondargument'
Juga, saya tidak tahu sebelumnya jumlah argumen di dalamnya arguments.txt. Bisa ada nol atau lebih.
source test.sh "$arguments"dengan tanda kutip? Itu akan menjadi salah satu penjelasan untuk deskripsi Anda
source test.sh "$arguments"dan source test.sh $argumentskeduanya menghasilkan source test.sh 'firstargument secondargument'.