On 2024-11-21 13:21, Jeffrey Walton wrote:
On Wed, Nov 20, 2024 at 9:42 PM Bitfox <h...@bitfox.ddns.net> wrote:
In my bash shell script, when I say:
sudo echo "something" >>/etc/postfix/virtual_alias_maps
it could not run with the prompts:
bin/mask.sh: line 18: /etc/postfix/virtual_alias_maps: Permission
denied
but, if I just say:
echo "something" >>/etc/postfix/virtual_alias_maps
and run that script with the form of "sudo bin/mask.sh", it successes.
Can you help me why the first sudo failed?
Greg gave you the answer.
What I do in this case is, I don't use sudo in the script. Instead I
run the script with sudo like Keith suggested. However, I add this to
the beginning of the script to gracefully exit:
<SNIP>
#!/usr/bin/env bash
# Control our PATH
PATH=/bin:/sbin:/usr/bin:/usr/sbin:$PATH
export PATH
if [[ "${UID}" -ne 0 ]]; then
Thank you for your support. That makes sense.
BTW, what’s the difference between [[ ]] and [ ] here? I know only the
latter.
Regards