首页 > 其他 > 详细

sudo, bash, env

时间:2019-10-10 00:31:17      阅读:74      评论:0      收藏:0      [点我收藏+]

问题:

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也不同

sudo, bash, env

原文:https://www.cnblogs.com/dirge/p/11645146.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!