LINUX.ORG.RU

История изменений

Исправление Yorween, (текущая версия) :

#!/usr/bin/bash

function hello-ssh {
    echo "Привет из $HOSTNAME"
}

typeset -f hello-ssh | ssh user@host "$(cat); hello-ssh"

Но тут получается, что функцию-то ты передаешь по ssh, но и завершение происходит на стороне сервера. Чтобы завершить выполнение скрипта на стороне хоста придется функцию запускать локально

#!/usr/bin/bash

function hello-ssh {
    echo "Привет из $HOSTNAME"
    exit 0
}

typeset -f hello-ssh | ssh user@host "$(cat); hello-ssh"

hello-ssh

echo "До сюда не дойдет"

или завершать вне функции. Других вариантов не знаю.

Исправление Yorween, :

#!/usr/bin/bash

function hello-ssh {
    echo "Привет из $HOSTNAME"
}

typeset -f hello-ssh | ssh user@host "$(cat); hello-ssh"

Но тут получается, что функцию-то ты передаешь по ssh, но и завершение происходит на стороне сервера. Чтобы завершить выполнение скрипта на стороне хоста придется функцию запускать локально

#!/usr/bin/bash

function hello-ssh {
    echo "Привет из $HOSTNAME"
    exit 0
}

typeset -f hello-ssh | ssh -p 3773 nucuser@192.168.77.9 -C "$(cat); hello-ssh"

hello-ssh

echo "До сюда не дойдет"

или завершать вне функции. Других вариантов не знаю.

Исходная версия Yorween, :

#!/usr/bin/bash

function hello-ssh {
    echo "Привет из $HOSTNAME"
    exit 0
}

typeset -f hello-ssh | ssh user@host "$(cat); hello-ssh"

echo "До сюда не дойдет"