Kann ich eine nachfolgende Skriptausführung an eine bestehende SSH-Verbindungsshell übergeben?

Kann ich eine nachfolgende Skriptausführung an eine bestehende SSH-Verbindungsshell übergeben?

Ich möchte einen Skriptteil ausführen, nachdem eine erfolgreiche SSH-Verbindung hergestellt wurde. Ich möchte es mir einfacher machen, eine Protokolldatei mit einem Skript zu versehen, das ich gerade schreiben möchte.

Hier ist das Skript in Arbeit:

echo "[Log Tunnel]" 
 
if [ "$1" == "foo" ] 
        then 
                echo "connecting to foo.dev.company.net" 
                ssh foo.dev.company.net        
                tail -f var/logs/staff/backend/backend.log # what's the way to do this
fi 
 
if [ "$1" == "bar" ] 
        then 
                echo "connecting to bar.dev.company.net" 
                ssh bar.dev.company.net         
fi 

Wenn ich das Skript ausführe, erwarte ich Folgendes:

[Log Tunnel]
connecting to foo.dev.company.net
[email protected]'s password: ***********
# Output of Tail

Ich frage mich, ob es überhaupt möglich ist, die SSH-Verbindung herzustellen und der nachfolgenden Shell ein neues Skript zu übergeben, das sie direkt nach dem Start ausführen soll.

Bearbeiten:

Mein Ziel ist es, in meiner Shell ein Tail zu einer Protokolldatei auf einem Remote-Server zu haben. Das Skript soll das Tailen dieser Protokolldateien durch einfaches Eintippen erleichtern ./rtail.sh foo. Wenn ich diesen Befehl ausführe, erwarte ich, dass die Shell die jeweilige Tail-Ausgabe anzeigt, abhängig vom Remote-Server, den ich mit dem Shell-Argument ausgewählt habe. Ich möchte nur eine Abkürzung für:

  • SSH zum Remote-Server
  • tail -f Pfad/zu/Logdatei.log

Antwort1

Wenn ich das richtig verstehe, suchen Sie nach so etwas:


#!/bin/sh

echo "[Log Tunnel]" 
 
if [ "$1" = "foo" ] 
then 
  server="foo.dev.company.net"
  file="var/logs/staff/backend/backend.log"
elif [ "$1" = "bar" ]
then
  server="bar.dev.company.net"
  file="some/other/file"
fi

echo "connecting to $server" 
ssh "$server" tail -f "$file"

verwandte Informationen