Bob*_* P. 2 scripting bash sudo awk
我有以下问题:
#!/bin/bash
NUM=`cat accounts | wc -l`;
for i in {1..$NUM}
do
account=`awk "NR==$i" accounts`;
echo -e "\nAccount: $account\n";
sudo ./backup_maildir $account;
done
Run Code Online (Sandbox Code Playgroud)
“accounts”是一个包含常规电子邮件地址的文件,每行一个。
backup_maildir 是期望脚本。
执行主脚本时,第 6 行成功回显当前邮件地址,但下一行没有将该字符串传递给 backup_maildir 脚本。如果 $account 变量是 user@domain.com,则传递给 backup_maildir 的字符串是 {user@domain.com?} ?! 这怎么可能?如何解决?
Hrv*_*jar 10
嗯,多么疯狂的脚本:) 让我们试试这样:)
#!/bin/bash
cat accounts | while read account
do
echo -e "\n Account: $account \n";
echo sudo ./backup_maildir "$account";
done
Run Code Online (Sandbox Code Playgroud)
如果一切看起来都很好并且 sudo 行按预期在脚本之外工作,则放弃回声和瞧