bash --文件测试、字符串比较

文件测试 : 需要加中括号

-e file  文件是否存在

-f file 文件是否为普通文件

-d file  文件是否为目录

-r file  文件对当前用户是否可读

-w file     写

-x file     执行

组合测试:

-a 与关系

-o 或关系

!  非关系

写法:

if [ $A -ge 4 -a $A -lt 7 ]

if [ $A -ge 4]  && [ $A -lt 7 ]

大于等于4 且小于7

if [ $A -ge 4  -o  $A -lt 4 ]

if [ $A -ge 4 ] || [ $A -lt 4]

大于等于4 或者小于4

模糊匹配    =~

1-100中包含 4的整数

I=`seq  1 100`

V=4

[[ $I =~ $V ]]

判断文件脚本(普通,目录,或其他)

read -p "please input a file:" N

if  [ -f $N ];then

echo "$N is putong"

elif [ -d $N ];then

echo "$N is mulu"

else

echo "bu cunzai huo feifa"

fi

练习:写出俩个 数字,计算出 俩数相加 相乘的结果

#!/bin/bash
#
if [ $# -lt 2 ];then
        echo "qing xie chu lia ge shuzi"
        exit 8
fi
        echo "he wei $[ $1+$2 ]"
        echo "ji wei $[ $1*$2 ]"

时间: 2025-01-04 12:19:07

bash --文件测试、字符串比较的相关文章

linux命令中bash常用的条件测试:整数测试eq,文件测试-e,字符串测试==

测试方法:expression: 表达,表示 [ expression ] [[ expression ]] test expression  bash中常用的条件测试有三种:  1.整数测试:      -eq 等于      -lt 小于      -ne 不等于      -gt 大于      -le 小于等于      -ge 大于等于 integer:整数      INTEGER1=63     INTEGER2=77     [ $INTEGER1 -eq $INTEGER2 ]

shell运算符之 关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符

shell运算符有很多,关系运算符,算数运算符,布尔运算符,字符串运算符和文件测试运算符 1,算术运算符 原声bash 不支持简单的算术运算,可以使用expr 工具 两点注意: 表达式和运算符之间要有空格,例如 2+2 是不对的,必须写成 2 + 2,这与我们熟悉的大多数编程语言不一样. 完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边. #!/bin/basha=10b=20rst=`expr 2 + 2`echo '2+2 =' ${rst} rst=`exp

linux 笔记--文件测试,特殊变量,sed命令,字符串测试及for循环

文件测试(单目): -e file:测试文件是否存在  -f file:测试文件是否为普通文件  -d file:测试文件是否为目录  -r file:测试当前用户对指定文件是否有读取权限  -w file:测试当前用户对指定文件是否有写入权限  -x file:测试当前用户对指定文件是否有执行的权限 多分支的if语句: if 判断条件; then statement1 elif 判断条件2; then statement2 elif 判断条件3; then statement3 else st

Linux Shell 04 数字/字符串/文件测试

一. 数字测试 格式:n1  -op  n2 测试操作op: eq/ne/le/ge/lt/gt    -->    等于/不等于/小于等于/大于等于/小于/大于 1. 数字比较可以使用特殊的(())操作符,用法更接近于C语言,见数字测试. 二. 字符串测试 s1 = s2 #s1与s2是否相同 s1 != s2  #s1与s2是否不相同 s1 < s2 #s1是否小于s2 s1 > s2 #s1是否大于s2 -n s1 #s1长度是否大于0 -z s1  #s1长度是否为0 1. 字符

bash 脚本 文件测试操作与二元操作符

-e                     文件存在 -a                     文件存在 这个选项的效果与-e相同.但是它已经被弃用了,并且不鼓励使用 -f                      file是一个regular文件(不是目录或者设备文件) -s                     文件长度不为0 -d                     文件是个目录 -b                     文件是个块设备(软盘,cdrom等等) -c    

shell 常用文件、字符串、二元整数测试操作符-持续更新中

常用的文件测试操作符-持续更新中 -e--exist 文件存在为真 -f--file 文件存在且为普通文件为真 -d--directory 文件存在且为目录为真 -s--size 文件存在且大小不为零为真 -r--read 文件存在且可读为真 -w--write 文件存在且可写为真 -x--executable 文件存在且可执行为真 -L--link 文件存在且为链接文件则为真 f1 -nt f2--new than f1比f2新则为真 f1 -ot f2--old than f1比f2旧则为真

bash脚本编程之(3/4)条件判断、算符运算、整数测试、文件测试、特殊变量等笔记

Shell编程: 编译器,解释器 编程语言: 机器语言.汇编语言.高级语言 静态语言: 编译型语言 强类型(变量) 事先转换成可执行格式 c\c++\JAVA\c# 动态语言: 解释性语言 弱类型 边解释边执行 asp/asp.net/php/shell/python/perl Shell: 弱类型编程语言 强类型: 变量在使用前,必须事先声明,甚至还需要初始: 弱类型: 变量用时声明,甚至不区分类型: 面向过程: Shell C 面向对象: JAVA Python, perl, c++ 变量:

4、文件测试、字符测试、if、vim 学习笔记

bash编程之:字符测试,一般加引号 双目: > : 大于 < :小于 ==:等于,等值比较 =~:左侧是字符串,右侧是一个模式,判断左侧的字符串能否被右侧的模式所匹配:通常只在[[]]中使用 模式中可以使用行首.行尾锚定符,但是模式不要加引号 !=, <>: 不等于 单目: -n 字符串: 字符串是否不空,不空为真,空则为假 -z 字符串:字符串是否为空,空则为真,不空则假: 判定所有用户是否拥有可登录shell #!/bin/bash for userName in `cut

shell之算数运算符、逻辑运算符、关系运算符、布尔运算符、文件测试运算符

注意事项: (1)bash不支持简单的数学运算,但是可以通过其他命令来实现,例如 awk 和 expr,expr 最常用: (2)完整的表达式要被 ` ` 包含,注意这个字符不是常用的单引号,在 Esc 键下边. (3)条件表达式要放在方括号之间,变量与符号之间必须以空格隔开,命令才可以识别: (4)乘号(*)在shell中有特殊含义,作为乘法符号时,要在*前边必须加反斜杠(\)才能实现乘法运算: (5)关系运算符采用的是英文字母的缩写,等于(-eq,equal),不等于(-ne,not equ