远程执行需要输入的bash脚本

时间:2018-05-10 09:46:26

标签: linux bash shell ssh

我使用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

哪个需要用户输入,但我发现当我从远程服务器执行命令时,它会跳过让用户&#39;输入和失败。

另一个是:

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

无法读取用户的输入

我知道脚本似乎无法读取其他终端的输入,但是如果我需要用户输入继续,任何人都可以帮我找到解决方案吗?

非常感谢!!

伊娃

1 个答案:

答案 0 :(得分:0)

我过去曾经使用过类似的东西。我不太清楚为什么我安装了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

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

相关问题