需要自动输入密码并运行后台的Linux脚本(不期望和发送)

时间:2017-12-09 01:00:58

标签: linux shell passwords

我正在编写一个旨在每天运行的脚本。脚本还包含一个命令,我需要输入密码,每次执行时都要说abcd。有什么办法可以在我要求“密码:”时自动输入密码 感谢

2 个答案:

答案 0 :(得分:2)

实际上它取决于脚本的结构。我心中有两种选择;

大多数(常用的)CLI可执行文件都有自己的参数集来提供密码/用户/凭据。让我举例说明MySQL;

shell> mysql --host=localhost --user=myname --password=password mydb

如果您使用的命令不适合这样做;您可以考虑使用“expect”,如下所示;

set password 123
spawn ssh "root@192.168.1.1"
expect "Password:"
send "$password\r";
interact

有关详细信息,请参阅that link

答案 1 :(得分:0)

使用xdotool如果未安装,请先使用CLI

在系统中安装此工具
apt-get install xdotool

这是简单的用法

xdotool key Ctrl+Alt+t  # for opening termianl
xdotool key Ctrl+Super+Up #super
xdotool type "su" #typing su for root user
xdotool key KP_Enter #pressing enter key

检查键盘快捷键兼容性。我希望有所帮助。