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 $arguments
keduanya menghasilkan source test.sh 'firstargument secondargument'
.