我有以下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进行调试。