Saya memiliki skrip shell berikut. Tujuannya adalah untuk melakukan perulangan melalui setiap baris dari file target (yang jalurnya adalah parameter input ke skrip) dan bekerja pada setiap baris. Sekarang, tampaknya hanya berfungsi dengan baris pertama di file target dan berhenti setelah baris itu diproses. Apakah ada yang salah dengan skrip saya?
#!/bin/bash
# SCRIPT: do.sh
# PURPOSE: loop thru the targets
FILENAME=$1
count=0
echo "proceed with $FILENAME"
while read LINE; do
let count++
echo "$count $LINE"
sh ./do_work.sh $LINE
done < $FILENAME
echo "\ntotal $count targets"
Di do_work.sh, saya menjalankan beberapa sshperintah.
sourcedan hanya keluar atau exec. Tetapi kode ini tidak terlihat asli, OP akan melihat bahwa gema memerlukan -euntuk menampilkan umpan baris dengan benar ...
do_work.shdijalankan sshsecara kebetulan?
do_work.shsumbernya dan juga menjalankan do.shdengan set -xuntuk debug.