Tôi đã cố gắng chạy các lệnh bằng cách sử dụng đường ống.Làm thế nào để chạy các lệnh script từ các biến?
Basic:
single="ls -l"
$single
trong đó hoạt động như mong đợi
Ống:
multi="ls -l | grep e"
$multi
ls: |: No such file or directory
ls: grep: No such file or directory
ls: e: No such file or directory
... không ngạc nhiên
bash < $multi
$multi: ambiguous redirect
.210
tiếp theo thử
bash $multi
/bin/ls: /bin/ls: cannot execute binary file
Chỉ
echo $multi > tmp.sh
bash tmp.sh
làm việc.
Có cách nào để thực thi các lệnh phức tạp hơn mà không cần tạo tập lệnh để thực thi không?
Xem [BashFAQ/050] (http://mywiki.wooledge.org/BashFAQ/050). –