1 测试操作
test 条件表达式 或者 [ 条件表达式 ] (注意方括号与条件表达式之间有空
格)如果条件为真,则返回0,否则返回其他值
实例:test -d /etc/passwd
[ -d /etc/passwd ]
echo $? 屏显上一个命令的结果
1.1测试文件状态
[ 操作符 文件或目录]
常用操作符
-d 测试是否为目录(directory)
-e 测试目录或文件是否存在(exist)
-f 测试是否为文件(file)
-r 测试当前用户是否有权限读取(read)
-w 测试当前用户是否有权限写入(write)
-x 测试当前用户是否可以执行(excute)该文件
-l 测试是否为符链接(link)文件
[ -x /home/happy/Documents/bak.sh ] && echo "yes"
如果前面条件为真,即测试的返回结果为0,则会执行后面的语句,屏显"yes"
如果不为真,返回结果不为0,则不会执行后面的语句。
1.2 整数值的比较
格式 [ 整数1 操作符 整数2 ]
实例 [ `who|wc -l` -eq 2 ] && echo "yes"
反撇号`` 里面是可执行的命令,比较的是执行得到的结果。
常用的测试操作符
-eq 等于equal
-ne 不等于not equal
-gt 大于 greater than
-lt 小于 lesser than
-le 小于等于 lesser or equal
-ge 大于或等于 greater or equal
who 命令 显示目前登入系统的用户信息
wc命令 Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
--version 显示版本信息
命令实例 wc bak.sh 输出 2 2 20 bak.sh 行数 单词数 字节数 文件名
命令实例 who | wc -l 意思就是执行who以后,针对输出在执行wc -l 统计行数 。 "|"就是所谓的“管道线”。
命令 cat 1.txt|wc -l 可以统计文件1.txt的行数,且只输出行数不输出文件名。
命令 ls -l | wc -l 统计当前目录下的文件数 。因为ls -l 会显示所有文件的详细信息,一行一个文件。
1.3 字符串的比较
[ 字符串1 = 字符串2 ] 等于
[ 字符串1 != 字符串2 ] 不等于 [ "happy" != "happy" ]
[ -z 字符串2 ] 字符串内容为空 [ -z `cat 1.txt` ] && echo "yes" 可以看1.txt文件是否为空
1.4 逻辑测试
格式 [表达式1] 操作符 [表达式2]
常用测试操作符
-a 或 && ,与
-o 或||,或
! ,否
实例 [ -z `cat 1.txt` ] || [ "ab" = "abc" ] && echo "y"
test 条件表达式 或者 [ 条件表达式 ] (注意方括号与条件表达式之间有空
格)如果条件为真,则返回0,否则返回其他值
实例:test -d /etc/passwd
[ -d /etc/passwd ]
echo $? 屏显上一个命令的结果
1.1测试文件状态
[ 操作符 文件或目录]
常用操作符
-d 测试是否为目录(directory)
-e 测试目录或文件是否存在(exist)
-f 测试是否为文件(file)
-r 测试当前用户是否有权限读取(read)
-w 测试当前用户是否有权限写入(write)
-x 测试当前用户是否可以执行(excute)该文件
-l 测试是否为符链接(link)文件
[ -x /home/happy/Documents/bak.sh ] && echo "yes"
如果前面条件为真,即测试的返回结果为0,则会执行后面的语句,屏显"yes"
如果不为真,返回结果不为0,则不会执行后面的语句。
1.2 整数值的比较
格式 [ 整数1 操作符 整数2 ]
实例 [ `who|wc -l` -eq 2 ] && echo "yes"
反撇号`` 里面是可执行的命令,比较的是执行得到的结果。
常用的测试操作符
-eq 等于equal
-ne 不等于not equal
-gt 大于 greater than
-lt 小于 lesser than
-le 小于等于 lesser or equal
-ge 大于或等于 greater or equal
who 命令 显示目前登入系统的用户信息
wc命令 Linux系统中的wc(Word Count)命令的功能为统计指定文件中的字节数、字数、行数,并将统计结果显示输出。
-c 统计字节数。
-l 统计行数。
-m 统计字符数。这个标志不能与 -c 标志一起使用。
-w 统计字数。一个字被定义为由空白、跳格或换行字符分隔的字符串。
-L 打印最长行的长度。
-help 显示帮助信息
--version 显示版本信息
命令实例 wc bak.sh 输出 2 2 20 bak.sh 行数 单词数 字节数 文件名
命令实例 who | wc -l 意思就是执行who以后,针对输出在执行wc -l 统计行数 。 "|"就是所谓的“管道线”。
命令 cat 1.txt|wc -l 可以统计文件1.txt的行数,且只输出行数不输出文件名。
命令 ls -l | wc -l 统计当前目录下的文件数 。因为ls -l 会显示所有文件的详细信息,一行一个文件。
1.3 字符串的比较
[ 字符串1 = 字符串2 ] 等于
[ 字符串1 != 字符串2 ] 不等于 [ "happy" != "happy" ]
[ -z 字符串2 ] 字符串内容为空 [ -z `cat 1.txt` ] && echo "yes" 可以看1.txt文件是否为空
1.4 逻辑测试
格式 [表达式1] 操作符 [表达式2]
常用测试操作符
-a 或 && ,与
-o 或||,或
! ,否
实例 [ -z `cat 1.txt` ] || [ "ab" = "abc" ] && echo "y"