zoukankan      html  css  js  c++  java
  • 【Linux】鸟哥的Linux私房菜基础学习篇整理(七)

    1. test命令的测试功能。
    测试的标志:
    (1)关于文件类型的检测 test [-efdbcSpL] filename
    -e:该文件名是否存在;
    -f:该文件名是否为文件;
    -d:该文件名是否为目录;
    -b:该文件名是否存在且为一个block device设备;
    -c:该文件名是否存在且为一个character device设备;
    -S:该文件名是否存在且为一个Socket文件;
    -p:该文件名是否存在且为一个FIFO文件;
    -L:该文件名是否存在且为一个连接文件。
    (2)关于文件权限的检测 test [-r] filename
    -r:检测该文件名是否存在且具有可读属性;
    -w:检测该文件名是否存在且具有可写属性;
    -x:检测该文件名是否存在且具有可执行属性;
    -u:检测该文件名是否存在且具有SUID属性;
    -g:检测该文件名是否存在且具有SGID属性;
    -k:检测该文件名是否存在且具有Sticky bit属性;
    -s:检测该文件名是否存在且为非空白文件。
    (3)两个文件之间的比较,如test file1 -nt file2
    -nt:newer than 判断file1是否比file2新;
    -ot:older than 判断file1是否比file2旧;
    -ef:判断file1与file2是否为同一文件名,可用在判断hard link的判定上,主要判定是否指向同一个inode。
    (4)两个整数之间的比较,如test n1 -eq n2
    -eq:相等;
    -ne:不相等;
    -gt:n1大于n2;
    -lt:n1小于n2;
    -ge:n1大于或等于n2;
    -le:n1小于或等于n2。
    (5)判定字符串
    test -z string:判定字符串是否为空;
    test -n string:判定字符串是否为非空;
    test str1 = str2:判定str1是否等于str2;
    test str1 != str2:判定str1是否不等于str2。
    (6)多重条件判定
    -a:两个条件同时成立,如test -r file -a -x file,若判断file是否同时具有可读与可执行属性;
    -o:任何一个条件成立,如test -r file -o -x file,若判断file是否具有可读或可执行属性;
    !:反向状态,如test ! -x file,判断file是否不具备可执行属性。

    2. 利用判断符号[]。
    []可以代替test,需要注意中括号的两端需要有空格符来分隔。如,[ -z "$HOME" ],判断HOME变量是否为空。

    3. shell script的默认变量。
    $0:执行的脚本文件名;
    $1,$2,$3...:第n个参数;
    $#:后面接的参数的个数;
    $@:代表全部的参数,每个变量都是独立的,以空格分隔,使用引号括起来;
    $*:代表"$1c$2c$3",c代表分隔符,默认为空格。

    4. sh [-nvx] script.sh:shell script的追踪与调试。
    参数:
    -n:不要执行script,仅检查语法问题;
    -v:在执行script前,先将script的内容输出到屏幕上;
    -x:将使用到的script内容显示到屏幕上。

  • 相关阅读:
    2017年年终总结
    7只老鼠测试100个瓶子
    jgs--多线程和synchronized
    springboot&&vue简单的景点信息管理系统
    springboot&&vue前后端分离入门案例
    npm安装教程
    springboot整合mybatisplus
    spring整合Mybatis-plus
    Springboot简单练手的记账本
    SpringBoot整合thymeleaf简单的CRUD
  • 原文地址:https://www.cnblogs.com/bombe1013/p/3902663.html
Copyright © 2011-2022 走看看