Tôi cố gắng chạy một công việc nền trong vòng lặp for trong bash:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
Tôi gặp lỗi:
bash: syntax error near unexpected token `;'
Trong zsh dòng lệnh hoạt động.
Tôi cố gắng chạy một công việc nền trong vòng lặp for trong bash:
for i in $(seq 3); do echo $i ; sleep 2 & ; done
Tôi gặp lỗi:
bash: syntax error near unexpected token `;'
Trong zsh dòng lệnh hoạt động.
Câu trả lời:
Gỡ bỏ ; sau khi ngủ
for i in $(seq 3); do echo $i ; sleep 2 & done
BTW, các vòng lặp như vậy được viết tốt hơn trên các dòng riêng biệt với thụt lề thích hợp (nếu bạn đang viết điều này trong tệp kịch bản shell).
for i in $(seq 3)
do
echo $i
sleep 2 &
done
$i
lệnh chạy nền, điều khiển công việc lại cho biết tên tiến trình chứa $i
thay vì bất kỳ giá trị thực tế $i
nào là?
for I in <whatever>; do rm -fr $I & done
... jobs
-> rm -fr $I
nhiều lần, thay vì đồng dir thực bị xóa cho mỗi công việc