Tôi đã gặp tình huống này:
./
./myscript.sh
./arguments.txt
./test.shBên trong myscript.sh, tôi phải chạy tập tin test.sh, chuyển cho nó các đối số chứa bên trong arguments.txt.
myscript.sh là:
arguments=$(cat arguments.txt)
source test.sh $argumentsĐiều này hoạt động tốt nếu nếu argument.txt chứa nhiều nhất một đối số:
firstargument Sự thay thế là:
++ source test.sh 'firstargument'Nhưng vấn đề là với hai hoặc nhiều đối số. Nó làm điều này:
++ source test.sh 'firstargument secondargument'Ngoài ra, tôi không biết trước số lượng đối số bên trong arguments.txt. Có thể có 0 hoặc nhiều hơn.
source test.sh "$arguments"với dấu ngoặc kép? Đó sẽ là một lời giải thích cho mô tả của bạn
                source test.sh "$arguments"và source test.sh $argumentscả hai kết quả trong source test.sh 'firstargument secondargument'.