赞
踩
目录
- #! /bin/bash
-
- a=20
- b=10
-
- val=`expr $a + $b`#不是单引号 是esc下面的符号(英文输入法)
- echo "a + b : $val"
-
- val=`expr $a - $b`
- echo "a - b : $val"
-
- val=`expr $a \* $b`
- echo "a * b : $val"
-
- val=`expr $a / $b`
- echo "a / b : $val"
-
- val=`expr $a % $b`
- echo "a + b : $val"
-
- if [ $a == $b ]
- then
- echo "a 等于 b"
- else
- echo "a 不等于 b"
- fi
-
- if [ $a != $b ]
- then
- echo "a 不等于 b"
- else
- echo "a 等于 b"
- fi
- #! /bin/bash
-
- a=10 #不能敲成 a = 10 这样a会被识别为一个命令
- b=20
-
- if [ $a -eq $b ] #不能敲成[$a -eq $b],需要空格,不然有语法错误
- then
- echo "$a -eq $b a 等于 b"
- else
- echo "$a -eq $b a 不等于 b"
- fi
-
- if [ $a -ne $b ]
- then
- echo "$a -ne $b a 不等于 b"
- else
- echo "$a -ne $b a 等于 b"
- fi
-
- if [ $a -gt $b ]
- then
- echo "$a -gt $b a 大于 b"
- else
- echo "$a -gt $b a 小于 b"
- fi
-
- if [ $a -lt $b ]
- then
- echo "$a -lt $b a 小于 b"
- else
- echo "$a -lt $b a 大于 b"
- fi
-
- if [ $a -ge $b ]
- then
- echo "$a -ge $b a 大于或等于 b"
- else
- echo "$a -ge $b a 小于 b"
- fi
-
- if [ $a -le $b ]
- then
- echo "$a -le $b a 小于或等于 b"
- else
- echo "$a -le $b a 大于 b"
- fi
- #! /bin/bash
-
- a=10
- b=20
-
- if [ $a != $b ]
- then
- echo "$a != $b: a 不等于 b"
- else
- echo "$a == $b: a 等于 b"
- fi
-
- if [ $a -lt 100 -a $b -gt 15 ]
- then
- echo "$a 小于 100 且 $b 大于 15 :返回 true"
- else
- echo "$a 小于 100 且 $b 大于 15 :返回 false"
- fi
-
-
- if [ $a -lt 100 -o $b -gt 100 ]
- then
- echo "$a 小于 100 或 $b 大于 100:返回 true"
- else
- echo "$a 小于 100 或 $b 大于 100:返回 false"
- fi
-
- if [ $a -lt 5 -o $b -gt 100 ]
- then
- echo "$a 小于 5 或 $b 大于 100 :返回 true"
- else
- echo "$a 小于 5 或 $b 大于 100:返回 false"
- fi
- #! /bin/bash
-
- a=10
- b=20
-
- if [[ $a -lt 100 && $b -gt 100 ]]
- then
- echo "返回 true"
- else
- echo "返回 false"
- fi
-
- if [[ $a -lt 100 || $b -gt 100 ]]
- then
- echo "返回 true"
- else
- echo "返回 false"
- fi
- #! /bin/bash
-
- a="abc"
- b="efg"
-
- if [ $a = $b ]
- then
- echo "$a = $b : a 等于 b"
- else
- echo "$a = $b : a 不等于 b"
- fi
-
- if [ $a != $b ]
- then
- echo "$a != $b : a 不等于 b"
- else
- echo "$a != $b : a 等于 b"
- fi
-
- if [ -z $a ]
- then
- echo "-z $a : 字符串长度为0"
- else
- echo "-z $a : 字符串的长度不为0"
- fi
-
- if [ -n $a ]
- then
- echo "-n $a : 字符串长度不为0"
- else
- echo "-n $a : 字符串长度为0"
- fi
-
- if [ $a ]
- then
- echo "$a : 字符串不为空"
- else
- echo "$a : 字符串为空"
- fi
- #! /bin/bash
-
- file="/root/test.sh"
-
- if [ -r $file ]
- then
- echo "文件可读"
- else
- echo "文件不可读"
- fi
-
- if [ -w $file ]
- then
- echo "文件可写"
- else
- echo "文件不可写"
- fi
-
- if [ -x $file ]
- then
- echo "文件可执行"
- else
- echo "文件不可执行"
- fi
-
- if [ -f $file ]
- then
- echo "文件为普通文件"
- else
- echo "文件为特殊文件"
- fi
-
- if [ -d $file ]
- then
- echo "文件是个目录"
- else
- echo "文件不是个目录"
- fi
-
- if [ -s $file ]
- then
- echo "文件不为空"
- else
- echo "文件为空"
- fi
-
- if [ -e $file ]
- then
- echo "文件存在"
- else
- echo "文件不存在"
- fi
- #! /bin/bash
-
- ## 显示普通字符串
- echo "Hello world"
-
- ## 显示转义字符
- echo "\"Hello world\""
-
- ## 显示变量
- name="xyx"
- echo "$name Hello world"
-
- ## 显示换行
- echo -e "OK! \n"
- echo "Hello world"
-
- ## 显示不换行
- echo -e "OK! \c"
- echo "Hello world"
-
- ## 显示结果定向至文件
- echo "Hello world" > myfile
-
- ## 原样输出字符串
- echo '$name\"'
-
- ## 显示命令执行结果
- echo `date`
参数 | 说明 |
-eq | 等于则为真 |
-ne | 不等于则为真 |
-gt | 大于则为真 |
-ge | 大于等于则为真 |
-lt | 小于则为真 |
-le | 小于等于则为真 |
参数 | 说明 |
= | 等于则为真 |
!= | 不相等则为真 |
-z 字符串 | 字符串的长度为0则为真 |
-n 字符串 | 字符串的长度不为0就为真 |
参数 | 说明 |
-e 文件名 | 如果文件存在则为真 |
-r 文件名 | 如果文件存在且可读则为真 |
-w 文件名 | 如果文件存在且可写则为真 |
-x 文件名 | 如果文件存在且可执行则为真 |
-s 文件名 | 如果文件存在且至少有一个字符为真 |
-f 文件名 | 如果文件存在且为普通文件则为真 |
-c 文件名 | 如果文件存在且为字符型特殊文件则为真 |
-b 文件名 | 如果文件存在且为块特殊文件则为真 |
-d 文件名 | 如果文件存在且为目录则为真 |
- #! /bin/bash
-
- #比较
- num1=100
- num2=100
-
- if test $[num1] -eq $[num2]
- then
- echo "两个数相等!"
- else
- echo "两个数不相等!"
- fi
- if condition1
- then
- command1
- elif condition2
- then
- command2
- else
- commandN
- fi
- case 值 in
- 模式1)
- command1
- command2
- ...
- commandn
- ;;
- 模式2)
- command1
- command2
- ...
- commandn
- ;;
- esac
- #! /bin/bash
-
- echo "输入1到4的数字:"
- echo "你输入的数字为:"
- read num
- case $num in
- 1) echo "你选择了1"
- ;;
- 2) echo "你选择了2"
- ;;
- 3) echo "你选择了3"
- ;;
- 4) echo "你选择了4"
- ;;
- *) echo "你没有输入1到4之间的数字
- ;;
- esac
- for var in item1 item2 ... itemN
- do
- command1
- command2
- ...
- commandN
- done
- #! /bin/bash
-
- for loop in 1 2 3 4 5
- do
- echo "The value is: $loop"
- done
-
- for str in "This is a string"
- do
- echo $str
- done
- while condition
- do
- command
- done
-
- #无限循环
- while true
- do
- command
- done
- #Bash let 命令,它用于执行一个或者多个表达式,变量计算中不需要加上$来表示变量
- #! /bin/bash
-
- i=1
- while(($i<=5))
- do
- echo $i
- let "i++"
- done
- #! /bin/bash
-
- while :
- do
- echo -n "输入1到5之间的数字"
- read aNum
- case $aNum in
- 1|2|3|4|5) echo "你输入的数字为 $aNum!"
- ;;
- *) echo "你输入的数字不是1到5之间的!游戏结束"
- break
- ;;
- esac
- done
- #! /bin/bash
-
- while :
- do
- echo -n "输入1到5之间的数字"
- read aNum
- case $aNum in
- 1|2|3|4|5) echo "你输入的数字为 $aNum!"
- ;;
- *) echo "你输入的数字不是1到5之间的!"
- continue
- echo "游戏结束"
- ;;
- esac
- done
- #! /bin/bash
-
- ## 第一个函数----------------------------------------
- demoFun(){
- echo "这是我的第一个shell函数!"
- }
-
- echo "------------函数开始执行------------"
- demoFun
- echo "------------函数执行完毕------------"
-
- ## 函数返回值---------------------------------------
- funWithReturn(){
- echo "这个函数会对输入的两个数字进行相加运算..."
- echo "输入第一个数字:"
- read num1
- echo "输入第二个数字"
- read num2
- echo "两个数字分别为$num1和$num2!"
- return $(($num1+$num2))
- }
-
- funWithReturn
- #函数返回值在调用该函数后通过 $? 来获得
- echo "输入的两个数字之和为 $? !"
-
- ## 函数参数-----------------------------------------
- funWithParam(){
- echo "第一个参数为$1"
- echo "第二个参数为$2"
- echo "第三个参数为$3"
- echo "第十个参数为$10"
- echo "第十个参数为${10}"
- echo "第十一个参数为${11}"
- echo "参数总共有$#个"
- echo "作为一个字符串输出所有参数 $* "
- }
-
- funWithParam 1 2 3 4 5 6 7 8 9 10 11 12 13 14
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。