sshpass Solaris, один лайнер, передающий команду

Просто принимая во внимание строки, которые начинаются или не начинаются с косой черты:

$ awk '/^[/]/ { sent+=$(NF-1); recv+=$NF }
       /^[^/]/ && sent>0 && recv>0 { print sent, recv; sent = recv = 0 }' file
5.65273 767.912
14.2477 1680.58
19.8801 2308.97

Это просто добавляет к sentи recvстроки, начинающиеся с символа косой черты. При обнаружении строки, которая не начинается с символа косой черты, текущие накопленные значения sentи recvвыводятся (, а затем сбрасываются до нуля ). Вывод происходит только в том случае, если переменные содержат значение больше нуля.

0
10.12.2020, 21:56
2 ответа

Похоже, что удаленная оболочка не понимает здесь -строки(<<<string). Здесь строки -являются расширением стандарта POSIX и не понимаются всеми оболочками.

Вместо этого сделайте перенаправление локально и просто позвоните atудаленно:

sshpass -p 'passw' \
ssh -o StrictHostKeyChecking=no \
    root@135.102.22.0  \
    'at 11:04 Dec 10' <<<'touch /tmp/test_file'

Предполагается, что ваша локальная интерактивная оболочка поддерживает здесь -строки.

Вы также можете вообще не использовать здесь -строки:

echo 'touch /tmp/test_file' |
sshpass -p 'passw' \
ssh -o StrictHostKeyChecking=no \
    root@135.102.22.0  \
    'at 11:04 Dec 10'

или, для планирования более длинного сценария, используйте здесь -документ:

sshpass -p 'passw' \
ssh -o StrictHostKeyChecking=no \
    root@135.102.22.0  \
    'at 11:04 Dec 10' <<'END_AT_SCRIPT'
touch /tmp/test_file
# Possibly more
# commands here
END_AT_SCRIPT

или просто сохраните скрипт в файле и отправьте его:

sshpass -p 'passw' \
ssh -o StrictHostKeyChecking=no \
    root@135.102.22.0  \
    'at 11:04 Dec 10' <myscript.sh
3
18.03.2021, 22:43

Это то, что сработало для меня, когда дело доходит до планирования на работе. пример планирования отключения:

sshpass -p "passw" ssh "root@135.102.22.0" -o StrictHostKeyChecking=no **"echo shutdown -h now | at 13:35 Dec 13"**

А это работает из шелл-скрипта, пример создания файла:

at 13:14 Dec 13 <<EOF
touch /tmp/atran3
EOF
0
18.03.2021, 22:43

Теги

Похожие вопросы