k sh удаленная функция s sh вызов другой удаленной функции - PullRequest
0 голосов
/ 03 февраля 2020
function test_me
{
sqlplus /nolog <<EOF
connect / as sysdba
oradebug dump systemstate 266
oradebug tracefile_name
EOF
}

function check_me 
{
ssh ${HST2} "$(typeset -f); test_me"
}

ssh ${HST1} "$(typeset -f); check_me"

определение функции test_me выглядит хорошо на HST1, но получает усечения для HST2 во время EOF, завершается неудачно с непревзойденным << </em>

Кто-нибудь нашел обходной путь?

1 Ответ

0 голосов
/ 03 февраля 2020

Две вещи, чтобы упростить это:

  1. Используйте опцию ProxyJump, чтобы ssh обрабатывал соединение с HST2 через HST1
  2. Передайте скрипт на sqlplus через стандартный ввод вместо того, чтобы пытаться встраивать определения функций.

ssh -o ProxyJump=HST1 HST2 "sqlplus /nolog" <<EOF
  connect / as sysdba
  oradebug dump system state 266
  oradebug tracefile_name
EOF
...