Linux shell script if condition control flow methods All In One

发布时间 2023-09-25 20:07:15作者: xgqfrms

Linux shell script if condition control flow methods All In One

if...then...fi / if...then...else..fi / if...then...elif...then...fi

#!/usr/bin/env bash

if bug
then
  echo "bug ✅"
else
  echo "bug ❌"
fi

if pwd
then
  echo "pwd ✅"
else
  echo "pwd ❌"
fi

<<EOF
./bug.sh:行3: bug:未找到命令
bug ❌
/home/eric/Desktop/if-condition-types
pwd ✅
EOF

condition types

  1. if command
  2. test condition (整数数值、字符串、文件)
  3. [ condition ] 单方括号 (整数数值、字符串、文件)
  4. [[ condition ]] 双方括号 (浮点数数值、字符串、文件)
# if command; then
if pwd; then
  echo "print current path"
fi

# or
if pwd
then
  echo "print current path"
fi

image

var1=3
var2=7
# test condition
if test $var1 -gt $var2; then
  echo "$var1 great than $var2"
else
  echo "$var1 little than $var2"
fi

image

test 等价于 []

var1=3
var2=7
# [ condition ], 单方括号 / single square brackets
#⚠️ 注意方括号的两边必须各有一个空格
if [ $var1 -gt $var2 ]; then
  echo "$var1 great than $var2"
else
  echo "$var1 little than $var2"
fi

image

var1=3
var2=7
# [[ condition ]], 双方括号 / double square brackets
#⚠️ 注意方括号的两边必须各有一个空格
if [[ $var1 > $var2 ]]; then
  echo "$var1 great than $var2"
else
  echo "$var1 little than $var2"
fi

image

demos

#!/usr/bin/env bash

if bug
then
  echo "bug ✅"
else
  echo "bug ❌"
fi

if pwd
then
  echo "pwd ✅"
else
  echo "pwd ❌"
fi

<<EOF
./bug.sh:行3: bug:未找到命令
bug ❌
/home/eric/Desktop/if-condition-types
pwd ✅
EOF

#!/usr/bin/env bash

var1=3
var2=7
# test condition
if test $var1 -gt $var2; then
  echo "$var1 great than $var2"
else
  echo "$var1 little than $var2"
fi

<<EOF
3 little than 7
EOF

#!/usr/bin/env bash

var1=3
var2=7
# [ condition ], 单方括号 / single square brackets
#⚠️ 注意方括号的两边必须各有一个空格
if [ $var1 -gt $var2 ]; then
  echo "$var1 great than $var2"
else
  echo "$var1 little than $var2"
fi

<<EOF
3 little than 7
EOF

#!/usr/bin/env bash

var1=3
var2=7
# [[ condition ]], 双方括号 / double square brackets
#⚠️ 注意方括号的两边必须各有一个空格
if [[ $var1 > $var2 ]]; then
  echo "$var1 great than $var2"
else
  echo "$var1 little than $var2"
fi

<<EOF
3 little than 7
EOF

(? 反爬虫测试!打击盗版⚠️)如果你看到这个信息, 说明这是一篇剽窃的文章,请访问 https://www.cnblogs.com/xgqfrms/ 查看原创文章!

refs



©xgqfrms 2012-2021

www.cnblogs.com/xgqfrms 发布文章使用:只允许注册用户才可以访问!

原创文章,版权所有©️xgqfrms, 禁止转载 ?️,侵权必究⚠️!