shell 问题积累

来源:互联网 发布:华为s2700绑定mac地址 编辑:程序博客网 时间:2024/06/06 23:17

1.   重定向:>>  前后的命令权限是重新处理

sudo ./nginx-disp-proxy-rlog.sh >> /home/a/share/nginx/logs/rlog.log 2>&1        -bash: /home/a/share/nginx/logs/rlog.log: Permission denied[zengtai.csm@proxy1.ecpm.cm3 ~]$ ll /home/a/share/nginx/logs/rlog.log -rw-r--r-- 1 root root 0 Nov  1 19:15 /home/a/share/nginx/logs/rlog.log
我直接执行这个命令时会提示没有权限操作log文件,因为sudo 只是对 >> 之前的命令有效; 在 >> 的命令

又会默认 是$USER的权限; 而rlog是root 用户的,所以没有权限操作:

sudo sh -c " ./nginx-disp-proxy-rlog.sh >> /home/a/share/nginx/logs/rlog.log 2>&1"

下面的这个命令   sh -c "..................."  把 -c  后面的 所有命令都当作一个命令来处理,所以可以执行;


(2). 如果这个命令放在cron任务里面:

0 0 * * * root cd /home/a/share/nginx/sbin/; ./nginx-proxy-rlog.sh >> /home/a/share/nginx/logs/rlog.log 2>&1

因为用户指定是root;所以后面的命令都是用root用户来操作;所以是没有任何问题


3.  cat ..txt|grep AAA --color  

原创粉丝点击