Linux shell 系统默认变量($#,$0....)与操作符小结

1》系统默认变量

      1. 一共有几个参数 : $#

      2. 该运行程序的名字是什么 : $0

      3. 所有参数的值 : $@ 或 $*

      4. n个参数是什么 : $n

      测试script : mytest.sh

      #!/bin/bash

      echo "The num of parameters are  ==>$#";

      echo "The name of this program   ==>$0";

      echo "The values of parameters   ==>$@";

      parameters="$@";

      count=0;

      for var in $parameters

      do

          echo "The $count value        ==>$var";

          let count++;

      done    

      执行:sh mytest.sh 1 2 3 4 5 6 输出结果:

      The num of parameters are  ==>6

      The name of this program   ==>sleep.sh

      The values of parameters   ==>1 2 3 4 5 6

      The 0 value        ==>1

      The 1 value        ==>2

      The 2 value        ==>3

      The 3 value        ==>4

      The 4 value        ==>5

      The 5 value        ==>6

  2》系统操作符介绍

     1. 大小判定操作符

        -eq : = 

        -ne : !=

        -gt : > 

        -lt : <

        -ge : >=

        -le : <= 

     2. 文件系统相关测试

        [ -f $var ] : $var包含正常的文件路径或文件名,返回为真

        [ -x $var] : $var为可执行文件,返回为真

        [ -d $var ]: $var为目录,返回为真

        [ -e $var ]: $var文件存在,返回为真

        [ -c $var ]: $var是一个字符设备文件路径,返回为真

        [ -b $var ]: $var是一个块设备文件路径,返回为真

        [ -w $var ]: $var文件可写,返回为真

        [ -r $var ]: $var文件可读,返回为真

        [ -L $var ]: $var为符号链接,返回为真

     3. 字符串比较

       注意:使用字符串比较时,最好采用双中括号

             在“=”前后各有一个空格,如果忘记加空格那就不是比较关系了,而变成了赋值

       [[ $str1 = $str2 ]]   : 判字符串相等

       [[ $str1 != $str2 ]]   : 判字符串不等

       [[ $str1 > $str2 ]]   : $str1字符串序列大于$str2

       [[ $str1 < $str2 ]]   : $str1字符串序列小于$str2

       [[ -z $str1 ]]       : $str1是否为空 ""

       [[ -n $str1 ]]       : $str1 不为空

       if [[ -z $str1]] && [[ -n $str2 ]];

       then 

            execute commands ;

       fi  

     4. if  ||  for 让你的光驱托盘动起来吧。运行这个shell脚本吧,很有趣哦。        

#!/bin/bash
read -p "How many times do you want to exec:" n
if [ $n -eq 0 ];
then
    echo "Can not be zero ..."
    exit 0
fi
read -p "How long times do you want to sleep:" time
if [ $time -eq 0 ];
then
    echo "Can not be zero ..."
    exit 0
fi
for((i=0;i<$n;i++));
do
   eject             # 让光驱弹出
   sleep $time
   eject -t          # 让光驱合上
done

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值