У мене є наступний скрипт оболонки. Мета - провести цикл через кожен рядок цільового файлу (шлях якого є вхідним параметром до сценарію) і виконати роботу проти кожного рядка. Тепер, здається, робота лише з першим рядком у цільовому файлі та зупиняється після обробки цього рядка. Чи є щось погано з моїм сценарієм?
#!/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
команд.
source
і просто вийти або exec
. Але цей код не виглядає справжнім, ОП помітить, що відлуння вимагає -e
належним чином відобразити стрічковий канал ...
do_work.sh
біжить ssh
випадково?
do_work.sh
джерело, а також запустіть do.sh
з set -x
налагодженням.