有没有办法在运行脚本时自动输入?

时间:2016-07-18 06:33:27

标签: shell ubuntu psql

我正在尝试执行一个脚本文件,该文件要求输入密码。我们有什么方法可以自动输入命令吗? 它位于psql中,其中包含用户名参数-U,但没有密码参数。

示例:

exa00009@exa00009:~$ sh redshift.sh
Password for user xyz:

2 个答案:

答案 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