免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1369 | 回复: 5
打印 上一主题 下一主题

[文本处理] SHELL代码有个地方看不懂 [复制链接]

论坛徽章:
2
IT运维版块每日发帖之星
日期:2015-09-30 06:20:0015-16赛季CBA联赛之北控
日期:2016-03-22 22:35:52
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2015-10-29 20:06 |只看该作者 |倒序浏览
本帖最后由 crazyboytan 于 2015-10-29 20:06 编辑

如下代码所示,标红的地方求解释啊:
/usr/bin/find / -perm -4000 -o -perm -2000 >/tmp/setuid.check
for file in `/bin/cat /tmp/setuid.check`
do
        /bin/grep $file /script/setuid.list > /dev/null
               if [ "$?" != "0" ]
               then
                      echo "$file isn't in list! it's danger!!"
               fi
done

这段代码是查找有SETUID 或SETGID权限的命令是否在指定的列表里,如果没有则输出,红色部分看不懂啊,求解释!!

论坛徽章:
7
操作系统版块每日发帖之星
日期:2015-06-16 22:20:00IT运维版块每日发帖之星
日期:2015-06-17 22:20:00IT运维版块每周发帖之星
日期:2016-01-07 23:04:26操作系统版块每日发帖之星
日期:2016-05-17 06:20:00操作系统版块每日发帖之星
日期:2016-05-21 06:20:00操作系统版块每日发帖之星
日期:2016-07-05 06:20:0015-16赛季CBA联赛之广东
日期:2017-07-13 16:08:03
2 [报告]
发表于 2015-10-29 20:40 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
IT运维版块每日发帖之星
日期:2015-09-30 06:20:0015-16赛季CBA联赛之北控
日期:2016-03-22 22:35:52
3 [报告]
发表于 2015-10-29 21:15 |只看该作者
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误

论坛徽章:
7
操作系统版块每日发帖之星
日期:2015-06-16 22:20:00IT运维版块每日发帖之星
日期:2015-06-17 22:20:00IT运维版块每周发帖之星
日期:2016-01-07 23:04:26操作系统版块每日发帖之星
日期:2016-05-17 06:20:00操作系统版块每日发帖之星
日期:2016-05-21 06:20:00操作系统版块每日发帖之星
日期:2016-07-05 06:20:0015-16赛季CBA联赛之广东
日期:2017-07-13 16:08:03
4 [报告]
发表于 2015-10-29 21:35 |只看该作者
提示: 作者被禁止或删除 内容自动屏蔽

论坛徽章:
2
IT运维版块每日发帖之星
日期:2015-09-30 06:20:0015-16赛季CBA联赛之北控
日期:2016-03-22 22:35:52
5 [报告]
发表于 2015-10-29 21:59 |只看该作者
$? 是显示最后命令的退出状态,0表示没有错误,其他表示有错误,$? 是上一个程序执行是否成功的标志,如果执行成功则$? 为0,否则 不为0

论坛徽章:
3
天蝎座
日期:2013-12-10 19:37:11酉鸡
日期:2014-08-04 20:05:38双鱼座
日期:2014-08-09 21:53:54
6 [报告]
发表于 2015-10-30 09:28 |只看该作者
if本来后面跟的就是命令的执行结果,所以这个地方没必要使用test命令来测试上一条命令的执行结果吧。可以直接在执行时使用if判断
/usr/bin/find / -perm -4000 -o -perm -2000 >/tmp/setuid.check
for file in `/bin/cat /tmp/setuid.check`
do
        
               if /bin/grep $file /script/setuid.list > /dev/null 2>&1
               then
                      echo "$file isn't in list! it's danger!!"
               fi
done
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP