Tôi đang cố đọc các lệnh từ một tệp văn bản và thực thi từng dòng từ một tập lệnh bash.dòng lệnh exec từ tập tin trong bash
#!/bin/bash
while read line; do
$line
done < "commands.txt"
Trong một số trường hợp, nếu $line
chứa các lệnh mà có nghĩa là để chạy ở chế độ nền, ví dụ như command 2>&1 &
họ sẽ không bắt đầu ở chế độ nền, và sẽ chạy trong bối cảnh kịch bản hiện hành.
Mọi lý do tại sao?
Có một số lý do bạn không thể thực hiện "source commands.txt" thay vì viết vòng lặp của riêng bạn không? –
"nguồn" làm gì? Tôi đang cố gắng kiểm tra nó ngay bây giờ – Quamis
Vui lòng xem [BashFAQ/050] (http://mywiki.wooledge.org/BashFAQ/050). Và sau đó sử dụng 'nguồn' (hoặc' .') như Jim Lewis gợi ý. 'nguồn' thực hiện khá nhiều câu đầu tiên trong câu hỏi của bạn. –