【问题标题】:Remote execute bash scripts that needs input远程执行需要输入的 bash 脚本
【发布时间】:2018-05-10 09:46:26
【问题描述】:

我正在使用 SSH 命令远​​程执行 bash 脚本:

ssh user@server 'bash -s' < $script_dir/script.sh

在 script.sh 中,我将有如下命令:

ssh-keygen -t rsa
ssh-copy-id postgres@$sqlserver
ssh postgres@$sqlserver -C true

还有

printf "Creating user in postgresql server...\n"
createuser -s -P username

需要用户输入,但我发现当我从远程服务器执行命令时,它会跳过获取用户输入并失败。

另一个是:

printf "Please enter your barman server name: \n" ; read -s barmanserver

也不能读取用户的输入

我知道脚本似乎无法读取其他终端的输入,但如果我需要用户输入才能继续,谁能帮我找到解决方案?

非常感谢!!

伊娃

【问题讨论】:

    标签: linux bash shell ssh


    【解决方案1】:

    我过去曾使用过类似的东西。我不太清楚为什么我安装了 sshpass。

    apt-get install sshpass -y
    echo "Adding users to new VMs"
    adduser adminuser
    echo "changing user password"
    echo "adminuser:password" | chpasswd
    adduser adminuser sudo
    

    它确实有效,但它会给你一些警告。

    【讨论】:

      猜你喜欢
      • 2018-09-15
      • 2021-06-15
      • 1970-01-01
      • 1970-01-01
      • 2018-07-07
      • 2022-01-21
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多