`
cloudmail
  • 浏览: 271268 次
  • 来自: 广州
社区版块
存档分类
最新评论

Linux系统Shell if语句用法小结

 
阅读更多

 

1、字符串判断

str1 = str2      当两个串有相同内容、长度时为真
str1 != str2      当串str1和str2不等时为真
-n str1        当串的长度大于0时为真(串非空)
-z str1        当串的长度为0时为真(空串)
str1           当串str1为非空时为真

2、数字的判断

int1 -eq int2    两数相等为真
int1 -ne int2    两数不等为真
int1 -gt int2    int1大于int2为真
int1 -ge int2    int1大于等于int2为真
int1 -lt int2    int1小于int2为真
int1 -le int2    int1小于等于int2为真

3 文件的判断

-r file     用户可读为真
-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真

3、复杂逻辑判断

-a         与
-o        或
!        非

 

  下面是一些使用实例:

#!/bin/sh
myPath="/var/log/httpd/"
myFile="/var /log/httpd/access.log"

#这里的-x 参数判断$myPath是否存在并且是否具有可执行权限
if [ ! -x "$myPath"]; then
mkdir "$myPath"
fi

#这里的-d 参数判断$myPath是否存在
if [ ! -d "$myPath"]; then
mkdir "$myPath"
fi

#这里的-f参数判断$myFile是否存在
if [ ! -f "$myFile" ]; then
touch "$myFile"
fi

#其他参数还有-n,-n是判断一个变量是否是否有值
if [ ! -n "$myVar" ]; then
echo "$myVar is empty"
exit 0
fi

#两个变量判断是否相等
if [ "$var1" == "$var2" ]; then
echo '$var1 eq $var2'
else
echo '$var1 not eq $var2'
fi

 


       if list then
           do something here
       elif list then
           do another thing here
       else
         do something else here
       fi  

EX1:

#!/bin/sh

SYSTEM=`uname -s`     #获取操作系统类型,我本地是linux

if [ $SYSTEM = "Linux" ] ; then     #如果是linux的话打印linux字符串
echo "Linux"
elif [ $SYSTEM = "FreeBSD" ] ; then   
echo "FreeBSD"
elif [ $SYSTEM = "Solaris" ] ; then
echo "Solaris"
else
echo "What?"
fi     #ifend

基本上和其他脚本语言一样。没有太大区别。不过值得注意的是。[]里面的条件判断。

=========================================================================

#. $HOME/.bash_profile
cd $HOME
sh .bash_profile
cd $HOME/jnjzapp/sos_dx/
echo -e '开始'
./jn_card_dx.sh
wait
#sqlplus $DBSTR <<START_A
#@jn_card_dx.sql
#/
#commit;
#exit;
#START_A
cd $HOME/jnjzapp/sos_dx/data/
if [ ! -d  BQMSG ]; then 
mkdir BQMSG 
fi 
#mkdir BQMSG
cd $HOME/jnjzapp/sos_dx/
sqlplus $DBSTR <<START
@sos.sql;
commit;
exit;
START
objdir=`date -d ' days' +%Y%m%d`
echo $objdir
#cp jn_card_sos.txt $objdir.txt

 

 

 

 

1、if 与[ 之间必须有空格

2、[ ]与判断条件之间也必须有空格

3、]与; 之间不能有空格

 

分享到:
评论
1 楼 cloudmail 2013-01-17  
1、if 与[ 之间必须有空格
2、[ ]与判断条件之间也必须有空格
3、]与; 之间不能有空格
4、操作数与操作符之间必须有空格

if [ "$f1" = "t1" -a "$f2" = "t222" ]; then
    echo "f1:[$f1],f2:[$f2] match"
else
     echo "f1:[$f1],f2:[$f2] not match"
fi

相关推荐

    LINUX and SHELL 自学总结

    1. #IF语句用法 4 2. #CASE语句用法 4 语法结构 4 加select 用法 4 #select范围用法 5 3. #GOTO语句 5 4. #UNTIL循环语句 5 5. 循环控制语句 5 1.break命令 5 2.continue命令 5 三、替换命令用法 6 1. #TR 替换命令 ...

    Linux shell脚本编程if语句的使用方法(条件判断)

    总结来说,Linux shell脚本中的if语句是进行条件控制的核心,它提供了灵活的条件表达式和组合方式,使得脚本可以根据不同情况执行不同的操作,极大地增强了脚本的实用性和功能性。通过熟练掌握if语句,可以编写出更...

    LINUX与UNIX SHELL编程指南(很全)

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    linux实验shell编程.pdf

    3. shell控制结构:shell控制结构包括if语句、while循环和for循环等,它们可以用来实现复杂的控制流程。 4. shell函数:shell函数是指可以重复使用的代码块,它们可以用来实现复杂的逻辑操作。 三、shell特殊字符 ...

    linuxshell命令常用方法总结linux操作系统电脑资料.doc

    本文将为大家详细介绍 Linux Shell 命令的用法,并且总结了一些常用的方法。 一、日期命令 在 Linux 中,日期命令是非常常用的,date 命令可以用来显示当前的日期和时间。例如,使用 date +%Y-%m-%d 可以显示当前...

    Linux与unix shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell ...

    Linux环境下shell编程

    1. **if语句**: ```sh if [ condition ]; then command_if_true elif [ another_condition ]; then command_if_another_true else command_if_false fi ``` 其中`[ ]`表示测试条件,可以用来比较字符串、...

    绝版经典《Linux与UNIX Shell编程指南》

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

    shell脚本if

    # 使用if语句进行判断 if [ $num -gt 10 ]; then echo "数字大于10" else echo $teacher fi ``` 在这段示例中: - `#!/bin/bash` 是Shell脚本的第一行,指定了解释器为bash。 - 定义了两个变量`num`和`teacher`。...

    跟老男孩学Linux运维:Shell编程实战

    / 1819.5 case条件语句的Linux系统脚本范例 / 1879.6 本章小结 / 191第10章 while循环和until循环的应用实践 / 19210.1 当型和直到型循环语法 / 19210.2 当型和直到型循环的基本范例 / 194第11章 for和select...

    Linux shell编程指南

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    linux shell 编程教程

    linux shell编程 教程大全 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限位 4 1.4.1 符号模式 4 1.4.2 chmod命令举例 5 1.4.3 绝对模式 5 1.4.4 ...

    LINUX与UNIX SHELL编程指南 高清PDF

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 shell...

    linux shell循环:for、while、until用法详解

    **特殊用法**:双小括号 `((…))` 使得在bash Shell中可以进行算术运算和C语言风格的变量操作,例如: ```bash for ((I=1; I; I++)); do echo $I done ``` **应用实例**: - 计算1-100之间所有正整数的和 ```...

    Linux_shell脚本编写基础

    在Linux环境中,Shell脚本是一种非常重要的自动化工具,广泛应用于系统管理、任务调度、软件部署等多个领域。对于初学者来说,掌握基本的Shell脚本编写技巧是非常必要的。本文将详细介绍Linux Shell脚本的基础知识,...

    Linux与Unix Shell编程指南(PDF格式,共30章)

    本书共分五部分,详细介绍了shell编程技巧,各种UNIX命令及语法,还涉及了UNIX下的文字处理以及少量的系统管理问题。本书内容全面、文字简洁流畅,适合Shell编程人员学习、参考。 目 录 译者序 前言 第一部分 ...

    linux与unix shell编程指南.rar

    linux/unix shell编程指南,全面介绍了Linu/unix shell编程的常用知识和技巧,是不可多得的编程宝典。 目 录 译者序 前言 第一部分 shell 第1章 文件安全与权限 1 1.1 文件 1 1.2 文件类型 2 1.3 权限 2 1.4 改变权限...

    LINUX与UNIX SHELL编程指南

    1.10 小结 13 第2章 使用find和xargs 14 2.1 find命令选项 14 2.1.1 使用name选项 15 2.1.2 使用perm选项 16 2.1.3 忽略某个目录 16 2.1.4 使用user和nouser选项 16 2.1.5 使用group和nogroup选项 16 2.1.6 按照更改...

Global site tag (gtag.js) - Google Analytics