我想在成功建立 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
。执行该命令时,我希望 shell 根据我通过 shell 参数选择的远程服务器显示特定的尾部输出。我只想要一个快捷方式:
- 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"