Bash
我可以將後續腳本執行傳遞給已建立的 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 me@foo.dev.company.net's password: *********** # Output of Tail
我想知道是否有可能建立 ssh 連接並將後續 shell 傳遞給它應該在啟動後立即執行的新腳本。
編輯:
我的目標是在我的 shell 中對遠端伺服器上的日誌文件進行跟踪。腳本應該簡化了通過簡單鍵入來
./rtail.sh foo
跟踪這些日誌文件的方式。執行該命令時,我希望 shell 顯示特定的尾部輸出,具體取決於我通過 shell 參數選擇的遠端伺服器。我只想要一個快捷方式:
- ssh 到遠端伺服器
- tail -f 路徑/到/logfile.log
如果我理解正確,您正在尋找這樣的東西:
#!/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"