linux - 创建独立于调用 Bash 脚本的 SSH 连接

标签 linux bash ssh

我正在尝试创建一个 bash 脚本,作为众多 ssh 连接选项的包装器。基本上,用户将运行脚本,然后根据他们的选择创建并执行适当的 ssh 命令。我正在尝试找到一种方法让脚本退出并创建 ssh 连接,而不是让脚本在用户在远程服务器上工作时继续运行。有谁知道这是否可能或我如何实现这一目标?谢谢!

编辑 抱歉,我应该发布我的代码:

display_main_menu(){
while true
do
        clear
        echo ""
        echo " Select A Server:"
        echo " -------------------------------"
        echo "  1) Server 1"
        echo "  2) Server 2"
        echo "  3) Server 3"
        echo "  4) Quit"

    local selection
        read -p " Enter choice [1 - 4] " selection
        case $selection in
                1)
                        # Open SSH Connection to Server 1
                        break
                        ;;
                2)
            # Open SSH Connection to Server 2
                        break
                        ;;
                3)
                        # Open SSH Connection to Server 3
                        break
                        ;;
                4)
                        exit 0
            break
                        ;;
                        ;;
                *)
                        echo -e "Invalid Selection..." && sleep 2
                        ;;
        esac
done
}

最佳答案

用途:

exec ssh <pararameters>

exec 内置命令:

剧情简介

exec [-a 名称] [-cl] [命令] [参数...] [重定向...]

描述

exec 内置命令用于

  • 用给定的程序替换 shell(执行它,而不是新的) 过程)
  • 为要执行的程序或为 当前外壳

如果仅给出重定向,则重定向会影响当前 shell,而不执行任何程序。

关于linux - 创建独立于调用 Bash 脚本的 SSH 连接,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37127993/

相关文章:

bash - 使用 bash 搜索并替换特定行

bash - bash 中的 ftp 脚本

python - 如何在通过putty打开的远程机器上运行python脚本

java - 如何在linux服务器上通过java程序查看oracle监听器状态

linux - Lighttpd mod_rewrite 到 Apache Mod_rewrite

bash - bash 中的 awk 和 printf

linux - 如何关闭 Expect 脚本中的 stderr 或退出后停止 "Connection to ... closed"消息?

linux - 如何将我的 Bash 循环变量传递给 Perl?

c++ - 所以文件: function called from another so file than intended

php - 如何在 Laravel 5.5 中动态设置 SSH key ?