我有以下shell脚本。目的是循环遍历目标文件的每一行(其路径是脚本的输入参数),并针对每一行工作。现在,它似乎只适用于目标文件的第一行,并在该行得到处理后停止。我的脚本有什么问题吗?
#!/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"
在中do_work.sh
,我运行几个ssh
命令。
1
您的脚本很好,但是do_work.sh可能有问题
—
sleepsort
是的,它可能会耗尽所有输入,或者可以将其调用为as
—
Michael Krelin-hacker 2012年
source
并直接退出或exec
。但是这段代码看起来并不真实,OP会注意到echo需要-e
正确显示换行符...
不
—
dogbane 2012年
do_work.sh
运行ssh
任何机会?
是的,do_work.sh运行几个ssh命令。有什么特别的吗?
—
bcbishop
更好地显示
—
koola 2012年
do_work.sh
源代码并do.sh
与之一起set -x
进行调试。