一、变量

1.系统变量

echo $PATH #环境变量

echo $USER #当前用户

echo  $HOME #

2.自定义变量

  • 变量名称一般用大写
  • 等号两侧不能有空格
  • 静态变量不能被unset
A=100 #定义变量,

unset A #销毁变量

readonly B  #定义静态变量,

echo $A  #使用变量$

指令赋值给变量

a1=$(ls -a)  #使用$(),这个指令有的linux不兼容
a2=`ls -a` #或者使用 `` echo $a1
echo $a2

3.位置参数变量

#!/bin/bash
echo "输入参数个数共:$# 个"
echo "全部参数1是:$0 , 参数2是:$1"
echo "输入参数为:$@"
echo "输入参数为:$*"

(5)centos图形界面安装-LMLPHP

4.预定义变量

$$ #获取当前进程号
$! # 后台运行的最后一个进程号
$? #返回最后一次命令的状态,0表示成功,

二、运算符

$()

echo $(((2+3)*4))

$[]    ** 两个()等于一个[]

echo $[(2+3)*4]

expr

用expr时符号两边必须要有空格

echo `expr 2 + 3`

乘号 

需要加\

echo `expr 2 \* 3`

比较运算符

数字的比较:
-eq 相等(equal)
-ne 不等(not equal)
-gt 大于(greater than)
-lt 小于(less than)
-ge 大于等于 (greater than or equal)
-le 小于等于 (less than or equal) 字符串的比较:
[ $str1 = $str2 ] 等于
[ $str1 != $str2 ] 不等于
[ -z $str ] 空字符串返回true
[ -n $str ] 或者 [ $str ] 非空字符串返回true

文件

-r file     用户可读为真
-w file     用户可写为真
-x file     用户可执行为真
-f file     文件为正规文件为真
-d file     文件为目录为真
-c file     文件为字符特殊文件为真
-b file     文件为块特殊文件为真
-s file     文件大小非0时为真
-t file     当文件描述符(默认为1)指定的设备为终端时为真

三、判断

 1 if

#!/bin/bash

if [ $1 -gt 15  ]
then
echo "大于"
elif [ $1 -lt 15 ]
then
echo "小于"
else
echo "等于"
fi

(5)centos图形界面安装-LMLPHP

 2 case

#!/bin/bash

case $ in
"")
echo "周一"
;;
"")
echo "周二"
;;
*)
echo "other"
esac

(5)centos图形界面安装-LMLPHP

四、循环

1. for循环

#!/bin/bash

for i in "$*"
do
echo "$i"
done echo "*********************" for j in "$@"
do
echo "$j"
done

(5)centos图形界面安装-LMLPHP

2.for循环

#!/bin/bash

for (( i= ; i<$ ; i++))
do
echo "print $i"
done

(5)centos图形界面安装-LMLPHP

3.while 

#!/bin/bash

while [ "$1" ]
do
echo "$1"
done

五、函数

1.系统函数

(1)basename 获取文件全路径下的文件名

[root@VM_0_2_centos ~]# basename /root/test.txt
test.txt

(2)dirname 获取文件全路径的路径部分

[root@VM_0_2_centos ~]# dirname /root/test.txt
/root

2.自定义函数

#!/bin/bash
getSum(){
SUM=$[$n1+$n2]
echo "求和:$SUM"
} read -p "输入参数1:" n1
read -p "输入参数2:" n2 getSum $n1 $n2

(5)centos图形界面安装-LMLPHP

六、其他

1读取控制行

#!/bin/bash

read -p "请输入:" NUM1
echo "输出: $NUM1"

(5)centos图形界面安装-LMLPHP

05-11 23:00