加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

Shell基础语法(中)

发布时间:2020-12-15 20:03:08 所属栏目:安全 来源:网络整理
导读: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

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

;;

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读