[英]Run bash script from file with input
我想制作一个简单的 bash 脚本,它使用命令对文件进行 for 循环并执行这些命令,并在发生错误时完成。 我有这样的事情
#!/bin/bash
while IFS= read -r line; do
echo $line
output=$(eval $line)
if [ $? -eq 0 ]
then
echo ok
else
echo $output
break
fi
echo
done < summary.txt
问题是我尝试执行的第一个命令是 sudo 命令,所以我必须输入密码。 我试着把它放在命令中
sudo -S <<< password <<< Y command
没有运气。 我已经检查过,如果我直接将其放入而无需阅读它(而不是将其作为字符串放入),它是否有效。 问题是如果没有循环,程序会很长,没有多大意义。
谢谢
echo <password> | sudo -S < your command>
来自man sudo
-S, --stdin
Write the prompt to the standard error and read the password from the standard input instead of using the terminal
device. The password must be followed by a newline character.
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.