博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Shell基础语法(中)
阅读量:6291 次
发布时间:2019-06-22

本文共 1374 字,大约阅读时间需要 4 分钟。

if语句

基础格式

格式1:if 条件 ; then 语句; fi

格式2:if 条件; then 语句; else 语句; fi

格式3:if …; then … ;elif …; then …; else …; fi

可以使用 && || 结合多个条件

if [ $a -gt 5 ] && [ $a -lt 10 ]; then

if [ $b -gt 5 ] || [ $b -lt 3 ]; then

算术比较运算符

num1 -eq num2 等于   [ 3 -eq $mynum ]

num1 -ne num2 不等于   [ 3 -ne $mynum ]

num1 -lt num2 小于    [ 3 -lt $mynum ]

num1 -le num2 小于或等于  [ 3 -le $mynum ]

num1 -gt num2 大于    [ 3 -gt $mynum ]

num1 -ge num2 大于或等于 [ 3 -ge $mynum ]

文件的判断

-e filename 如果 filename存在,则为真 [ -e /var/log/syslog ]

-d filename 如果 filename为目录,则为真 [ -d /tmp/mydir ]

-f filename 如果 filename为常规文件,则为真 [ -f /usr/bin/grep ]

-L filename 如果 filename为符号链接,则为真 [ -L /usr/bin/grep ]

-r filename 如果 filename可读,则为真 [ -r /var/log/syslog ]

-w filename 如果 filename可写,则为真 [ -w /var/mytmp.txt ]

-x filename 如果 filename可执行,则为真 [ -L /usr/bin/grep ]

特殊用法

if [ -z "$a" ]  这个表示当变量a的值为空时会怎么样(养成好习惯,一定要对判断的值添加 “双引号”;如果是"文件"可以省略)

if [ -n "$a" ] 表示当变量a的值不为空

if grep -q '123' 1.txt; then   表示如果1.txt中含有'123'的行时会怎么样

if [ ! -e file ]; then 表示文件不存在时会怎么样

if (($a<1)); then …等同于 if [ $a -lt 1 ]; then… 

[ ] 中不能使用<,>,==,!=,>=,<=这样的符号

# if grep -wq 'juispan' /etc/passwd; then echo "juispan already exists"; fi

juispan already exists

case语句

基础格式

case  变量名 in 

value1)

  command

  ;;

value2)

  command

  ;;

*)

  commond

  ;;

esac

如果case中的某个value是一样的,也可以这样写:

2|3)                    ##“ |”表示或的意思

    command  

    ;;

本文转自Grodd51CTO博客,原文链接:http://blog.51cto.com/juispan/2063970,如需转载请自行联系原作者

你可能感兴趣的文章
微信支付
查看>>
CodeBlocks中的OpenGL
查看>>
短址(short URL)
查看>>
第十三章 RememberMe——《跟我学Shiro》
查看>>
mysql 时间函数 时间戳转为日期
查看>>
索引失效 ORA-01502
查看>>
Oracle取月份,不带前面的0
查看>>
Linux Network Device Name issue
查看>>
IP地址的划分实例解答
查看>>
如何查看Linux命令源码
查看>>
运维基础命令
查看>>
入门到进阶React
查看>>
SVN 命令笔记
查看>>
检验手机号码
查看>>
重叠(Overlapped)IO模型
查看>>
Git使用教程
查看>>
使用shell脚本自动监控后台进程,并能自动重启
查看>>
Flex&Bison手册
查看>>
solrCloud+tomcat+zookeeper集群配置
查看>>
/etc/fstab,/etc/mtab,和 /proc/mounts
查看>>