为了账号安全,请及时绑定邮箱和手机立即绑定
#!/bin/bash
#
RATE=`df -h | grep "/dev/sda5" | awk '{print $5}' | cut -d "%" -f 1`
if [ "$RATE" -le "10" ]; then
echo "/ is null, only $RATE"
fi
-r -w -x 是会根据命令执行者的权限进行判断的
[root@t ~]# touch /t
[root@t ~]# ls -al /t
-rw-r--r--. 1 root root 0 Sep 26 09:10 /t
[root@t ~]# test -w /t
[root@t ~]# echo $?
0
[root@t ~]# su test
[t@t root]$ ls -al /t
-rw-r--r--. 1 root root 0 Sep 26 09:10 /t
[t@t root]$ test -w /t
[t@t root]$ echo $?
1
执行下面的命令,返回是0值(即真),可是BB明明是没有内容的。
[root]# BB=“”
[root]# [ -n $BB ]
[root]# echo $?
0
原来需要用双引号把变量名括起来,即变成[ -n "$BB" ]。这样才行。
[root]# [ -n "$BB" ]
[root]# echo $?
1
因为如果没有双引号括起变量,当BB为null时,判定表达式变成:[ -n ]。这显然是范围true。当然,如果不想用双引号,那么使用[[ ]]判定语句也是可以的。
我 觉得 grep httpd 不会写长点啊 把绝对路径全部加上去
grep /usr/sbin/httpd 不就好了
感谢tony老湿!!!
最后一节反而留言很多(⊙o⊙)…
感想tony老师
老师选择了那个最漂亮的,哈哈……
好喜欢tony老师的风格
回想第一节, exist, file, directory, block, link, char, 等等, 背真不是办法
老师到底认为学生有多笨呀( ⊙ o ⊙ )!

已采纳回答 / JUSTSOSO嗯
*代表的带前目录的内容,当前目录尝试输入命令“ls *”,就不难理解*的含义啦
看完啦,赞一下
for i in $(ls *.gz *.tgz)
do

done
课程须知
小伙伴们,学习本课程前需要掌握Linux常用命令,并学习《Tony老师聊shell》系列的前四门课程呦!
老师告诉你能学到什么?
1、掌握条件判断和流程控制的基本语句 2、通过大量案例的学习,掌握shell编程思想 3、体会shell编程在Linux运维中的重要作用

微信扫码,参与3人拼团

意见反馈 帮助中心 APP下载
官方微信
友情提示:

您好,此课程属于迁移课程,您已购买该课程,无需重复购买,感谢您对慕课网的支持!

本次提问将花费2个积分

你的积分不足,无法发表

为什么扣积分?

本次提问将花费2个积分

继续发表请点击 "确定"

为什么扣积分?

举报

0/150
提交
取消