Unix commands(18)

来源:未知 责任编辑:责任编辑 发表时间:2013-11-17 14:40 点击:

                 [ -n "$var" ] :判断$var变量是否有值
                 [ "$a" = "$b" ] :判断$a和$b是否相等
    执行man test可以查看所有测试表达式可以比较和判断的类型。
   直接执行以下脚本:
               #!/bin/sh
               if [ "$SHELL" = "/bin/bash" ]; then
                    echo "your login shell is the bash (bourne again shell)"
               else
                    echo "your login shell is not bash but $SHELL"
               fi
   变量$SHELL包含了登录shell的名称,我们和/bin/bash进行了比较。
       
        快捷操作符
        熟悉C语言的朋友可能会很喜欢下面的表达式:
                  [ -f "/etc/shadow" ] && echo "This computer uses shadow passwors"
  这里 && 就是一个快捷操作符,如果左边的表达式为真则执行右边的语句。您也可以认为是逻辑运算中的与操作。上例中表示如果/etc/shadow文件存在则打印” This computer uses shadow passwors”。同样或操作(||)在shell编程中也是可用的。这里有个例子:
                 #!/bin/sh
                 mailfolder=/var/spool/mail/james
                 [ -r "$mailfolder" ]' '{ echo "Can not read $mailfolder" ; exit 1; }
                 echo "$mailfolder has mail from:"
                 grep "^From " $mailfolder
        该脚本首先判断mailfolder是否可读。如果可读则打印该文件中的"From" 一行。如果不可读则或操作生效,打印错误信息后脚本退出。这里有个问题,那就是我们必须有两个命令:
  -打印错误信息
  -退出程序
  我们使用花括号以匿名函数的形式将两个命令放到一起作为一个命令使用。一般函数将在下文提及。
发表评论
请自觉遵守互联网相关的政策法规,严禁发布色情、暴力、反动的言论。
用户名: 验证码:点击我更换图片
最新评论 更多>>

推荐热点

  • /etc/fstab 详解
  • nginx主主集群
  •  LVS-NAT和LVS-DR模式的实现详解
  •  RHCE考试之磁盘配额
  • 学习笔记:ACL详解
  •  LVM逻辑卷管理器
  • suse linux双网卡双网关配置
  •  Nginx主主负载均衡架构
  • ubuntu学习Mysql

快速直达

操作系统导航

LinuxWindows虚拟机
网站首页 - 友情链接 - 网站地图 - TAG标签 - RSS订阅 - 内容搜索
Copyright © 2008-2015 计算机技术学习交流网. 版权所有

豫ICP备11007008号-1