shell脚本:test命令 if-then for while 学习笔记

test 文件运算符:

-b file  如果文件为一个块特殊文件,则为真

-c file  如果文件为一个字符特殊文件,则为真

-d file  如果文件为一个目录,则为真

-e file  如果文件存在,则为真

-f file  如果文件为一个普通文件,则为真

-g file  如果设置了文件的 SGID 位,则为真

-G file  如果文件存在且归该组所有,则为真

-k file  如果设置了文件的粘着位,则为真

-O file  如果文件存在并且归该用户所有,则为真

-p file  如果文件为一个命名管道,则为真

-r file  如果文件可读,则为真

-s file  如果文件的长度不为零,则为真

-S file  如果文件为一个套接字特殊文件,则为真

-t fd   如果 fd 是一个与终端相连的打开的文件描述符(fd 默认为 1),则为真

-u file  如果设置了文件的 SUID 位,则为真

-w file  如果文件可写,则为真

-x file  如果文件可执行,则为真


if-then结构化命令 实例:

file=test1
touch file

if [ -s file ]
then
        echo " The file file exits and has data in it"
else
        echo " The file file exits ,but  has not  data in it"
fi

date > file

if [ -s file ]
then
        echo "the file file has data in it"
else
        echo "the file file is also empty ,no data hummm"
fi

if [ 1.c -nt one2.c ]
then
        echo "1.c is newer than one2.c"
else
        echo "1.c is not newer than one2.c"
fi


for命令:

for var in list
do
   commands
done 

实例:

list="one one2 one4 one5"
list=$list" one6"//在已经存在的变量中添加新的数据

for state in $list
do
        echo "state is $state"
done

结果:
./fortest
state is one
state is one2
state is one4
state is one5
state is one6

读取命令中的值:
file="states"

for state in 'cat $file'
do
        echo "visit word $state"
done
~      

while命令

格式:

while the command
do
    other commands
done


实例:

var1=10 #赋值是不能有空格的 有空格就会出现问题 例如: /last: 第 3 行: [: -gt: 期待一元表达式等
echo "var1 is $var1"
while [ $var1 -gt 0 ]
do
        echo "the var1 is $var1"
        var1=$[$var1 -1 ]
done

结果:

the var1 is 10
the var1 is 9
the var1 is 8
the var1 is 7
the var1 is 6
the var1 is 5
the var1 is 4
the var1 is 3
the var1 is 2
the var1 is 1


  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值