在bash脚本中的正确时间输入命令
我有一个bash脚本,它运行一些命令。这些命令接受输入,我希望能够自动执行,因为输入总是一样的 如果有人要求,是否可以一次发送一条在bash脚本中的正确时间输入命令,bash,Bash,我有一个bash脚本,它运行一些命令。这些命令接受输入,我希望能够自动执行,因为输入总是一样的 如果有人要求,是否可以一次发送一条 Y {JustPressEnter} {JustPressEnter} {JustPressEnter} yes APassword 完整命令如下(实际IP已删除) 两个不同的答案: 使用expect自动执行命令。显示了一个示例,expect用于通过密码输入自动执行apt get这是一篇长篇大论expect的文章 以批处理模式写入每个命令。可以接受所有这些东西作
Y
{JustPressEnter}
{JustPressEnter}
{JustPressEnter}
yes
APassword
完整命令如下(实际IP已删除)
两个不同的答案:
- 使用
自动执行命令。显示了一个示例,expect
用于通过密码输入自动执行expect
这是一篇长篇大论apt get
的文章expect
- 以批处理模式写入每个命令。可以接受所有这些东西作为参数
将在每次提示时假定为“是”。如果代码编写正确,则无需进行键盘交互apt get install-y packagename
-y
apt-get标志,并使用参数对ssh-keygen
进行排序。我现在要做的就是将密码自动输入到ssh命令中。我会看看expect,然后试着用它来工作。
apt-get install ssh-client \
&& mkdir /var/www/.ssh/ \
&& chown www-data:www-data /var/www/.ssh/ \
&& sudo -u www-data ssh-keygen -t rsa \
&& cat /var/www/.ssh/id_rsa.pub | ssh root@1.2.3.4 'cat >> .ssh/authorized_keys' \
&& sudo -u www-data touch /var/www/.ssh/known_hosts \
&& sudo -u www-data ssh-keygen -R 1.2.3.4 \
&& sudo -u www-data ssh-keyscan -H 1.2.3.4 >> /var/www/.ssh/known_hosts