По существу да .
После того, как процесс оболочки поймает ваше прерывание Ctrl-C
, он остановит его.
Однако есть оговорки, например, в цикле for
может быть cmd, работающий в фоновом режиме.
Кроме того, некоторые команды работают так быстро, что вы не получаете быстрого ответа от оболочки (, особенно при удаленном соединении! )что он имеет или , когда он действительно получил ваше "прерывание" с помощью Ctrl -C.
Вы можете использовать следующий метод
for i in remoteserverip
do
ssh -o 'StrictHostKeyChecking no' $i <<'EOF'
for pn in 23 33 43
do
lsof -nP -iTCP:47${pn} | grep LISTEN | awk '{print $2}'
done
EOF
done