有没有办法在运行一个脚本时自动输入?
Is there a way to input automatically when running a script?
我正在尝试执行一个要求输入密码的脚本文件。有什么方法可以自动为命令提供所需的输入吗?
它在 psql 中,它有用户名参数 -U
但没有密码参数。
示例:
exa00009@exa00009:~$ sh redshift.sh
Password for user xyz:
您可以为您的脚本提供命令行参数,如下所示:
sh redshift.sh yourInput
并在您的脚本中将其作为 var input=
并相应地使用。
这个问题已经回答了here
您可以为此使用 expect
。
这是一个简单的例子:
#!/usr/bin/expect -f
set PASSWORD "1"
set USER "dvp"
spawn psql -U ${USER} -W
expect "*?assword*"
send -- "${PASSWORD}\r"
expect eof
可能你需要先安装expect
:
sudo apt-get install expect
我正在尝试执行一个要求输入密码的脚本文件。有什么方法可以自动为命令提供所需的输入吗?
它在 psql 中,它有用户名参数 -U
但没有密码参数。
示例:
exa00009@exa00009:~$ sh redshift.sh
Password for user xyz:
您可以为您的脚本提供命令行参数,如下所示:
sh redshift.sh yourInput
并在您的脚本中将其作为 var input=
并相应地使用。
这个问题已经回答了here
您可以为此使用 expect
。
这是一个简单的例子:
#!/usr/bin/expect -f
set PASSWORD "1"
set USER "dvp"
spawn psql -U ${USER} -W
expect "*?assword*"
send -- "${PASSWORD}\r"
expect eof
可能你需要先安装expect
:
sudo apt-get install expect