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 ssh
perintah.
source
dan hanya keluar atau exec
. Tetapi kode ini tidak terlihat asli, OP akan melihat bahwa gema memerlukan -e
untuk menampilkan umpan baris dengan benar ...
do_work.sh
dijalankan ssh
secara kebetulan?
do_work.sh
sumbernya dan juga menjalankan do.sh
dengan set -x
untuk debug.