我有一个包含用户名和主题的输入文件。
输入
sk7865 /opt/apps/login
sk4888 /opt/apps/info
我正在编写一个 shell 脚本来从上述文件中获取输入并发送邮件。
shell 脚本
#!/bin/bash
while read a b
echo echo ""$a"" | mail -s ""$b"" "$a"@example.com
done < input
在上面的脚本中,我想使用的实际命令是:-
echo "hello world" | mail -s "a subject" someone@example.com
我希望它在 hello world 和 a subject 中采用参数 a,b 来将电子邮件发送给某人,就像我在脚本中使用的那样。但它没有接受论据。我认为这与双引号有关。请向我提供适当的脚本。
最佳答案
你似乎错过了一段时间后的do
:
#!/bin/bash
while read -r a b
do
echo "$a" | mail -s "$b" "$a"@somewhere.com
done < input
请记住始终运行 shellcheck在此处发布之前在你的 bash 脚本上。
此外,您在 ""xyz""
处有一个 echo echo
和双引号。
关于linux - Shell脚本不从输入文件中获取参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44782180/