问题:
dirge@Linux:~$ sudo echo "ulimit -c unlimited" >> /etc/profile
bash: /etc/profile: Permission denied
分析:
这是因为重定向符号 “>>” 也是 bash 的命令。sudo 只是让 echo 命令具有了 root 权限,
但是没有让 “>>” 命令也具有root 权限,所以 bash 会认为这个命令没有写入信息的权限。
解决:
用sudo执行bash,将其它命令作为bash的参数
方式1
sudo bash
echo "ulimit -c unlimited" >> /etc/profile
exit
方式2
sudo bash -c 'echo "ulimit -c unlimited" >> /etc/profile'
注意:
单引号为字面串,双引号为解析串
ref: [https://www.cnblogs.com/jankz/p/10889734.html]
env:
不同用户的env不同,sudo模式的env与用户模式的env也不同
原文:https://www.cnblogs.com/dirge/p/11645146.html