LinuxCommandLine -- [脚本 if]

状态码

  • 范围:0 ~ 255
  • 0: 正常退出
  • 其他:发生异常
  • $? 显示上一条命令的退出状态码
  • true
  • false
  • exit <num>
  • return
# 正常退出
$ ls
$ echo $?
0

# 异常
$ ls non-exist
ls: cannot access non-exist: No such file or directory
$ echo $?
2

if 语法

if [ condition ]; then
    commands
elif [ condition ]; then
    commands
else
    commands
fi

比较符

字符串

String

整数

integer.PNG

文件

test_file_1

test_file_2

test

  • [ condition ]
  • [[ condition ]] 除了支持 [] 的所有特性外,还支持 [[ string =~ regex ]]
  • (( )) 用于整数
  • command1 && command2 command1 执行成功时,执行 command2
  • command1 || command2 command1 执行失败时,执行command2
# is_num.sh
#------------
#!/bin/bash

read -p "Enter something: " num

if [[ "$num" =~ ^-?[[:digit:]]+$ ]]; then
    echo "$num is a number"
else
    echo "$num is not a number"
fi

INT=-5

比较:变量名前不用加 $
(( INT == 0 ))

# 计算
(( ((INT % 2)) == 0))
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 个人学习批处理的初衷来源于实际工作;在某个迭代版本有个BS(安卓手游模拟器)大需求,从而在测试过程中就重复涉及到...
    Luckykailiu阅读 10,216评论 0 11
  • .bat脚本基本命令语法 目录 批处理的常见命令(未列举的命令还比较多,请查阅帮助信息) 1、REM 和 :: 2...
    庆庆庆庆庆阅读 12,549评论 1 19
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,301评论 19 139
  • 1. 项目需求 ​ 有一个模型数组arr, 其中模型model中有个字段num, 我需要找出所有模型中最大的一...
    崇山峻岭阅读 6,500评论 0 2
  • 昨天晚上在微信听妈妈说,他们要到年初一才能到家。我听到这就不开心了!真的很不开心。当初我的计划是出去旅游的,后来我...
    Six_cloud阅读 3,114评论 0 1