我试图通过管道或文件将密码作为输入到bash脚本的输入,该脚本需要从命令行输入,因此出现以下错误: “无法从环境或密钥库获取密码,而stdin不是tty”。有什么方法可以用文件或文本输入替换标准输入?
答案 0 :(得分:0)
您应该能够使用“期望”将文本传递给正在从非tty读取的pgm。
此页面可能对您有用:https://likegeeks.com/expect-command/
答案 1 :(得分:0)
期望程序输入密码
#!/usr/bin/expect
spawn su $1
expect "Password:" #expects the keyword "Password:"
send "$2\r";
interact
运行上述程序时输出
smilyface@localhost $ ./su.exp guest guest
spawn su guest
Password:
guest@localhost $