我可以將後續腳本執行傳遞給已建立的 ssh 連線 shell

我可以將後續腳本執行傳遞給已建立的 ssh 連線 shell

我想在成功建立 ssh 連線後執行腳本部分。我想讓我更容易地用我正在嘗試編寫的腳本來追蹤日誌檔案。

這是正在進行的腳本工作:

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 

當我運行腳本時,我期望出現以下結果:

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

我想知道是否有可能建立 ssh 連線並向後續 shell 傳遞一個新腳本,它應該在啟動後立即執行。

編輯:

我的目標是在我的 shell 中對遠端伺服器上的日誌檔案進行追蹤。這個腳本應該可以簡化我簡單鍵入的追蹤這些日誌檔案的方法./rtail.sh foo。我只想要一個快捷方式:

  • ssh 到遠端伺服器
  • tail -f 路徑/to/logfile.log

答案1

如果我理解正確的話,您正在尋找這樣的東西:


#!/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"

相關內容