我正在尝试执行一个脚本文件,该文件要求输入密码。我们有什么方法可以自动输入命令吗?
它位于psql中,其中包含用户名参数-U
,但没有密码参数。
示例:
exa00009@exa00009:~$ sh redshift.sh
Password for user xyz:
答案 0 :(得分:1)
您可以使用expect
。
这是一个简单的例子:
MediaCodec
您可能需要先安装#!/usr/bin/expect -f
set PASSWORD "1"
set USER "dvp"
spawn psql -U ${USER} -W
expect "*?assword*"
send -- "${PASSWORD}\r"
expect eof
:
expect
答案 1 :(得分:0)
您可以为脚本提供命令行参数,如下所示:
sh redshift.sh yourInput
并在您的脚本中将其设为var input=$1
并相应地使用。
此问题已经回答here