1. 脚本创建
hello.sh
在命令行终端输入下面命令创建一个hello.sh脚本文件:
touch hello.sh
使用vim进入编辑:
vim hello.sh
在文件中添加代码:点击键盘 i 键进入编辑模式
#!/bin/bash
# 上面第一行代码含义:指定脚本文件的解释器
echo "hello,world..." # echo 用于在终端界面上输出信息
echo D
点击键盘Esc键退出编辑模式,然后 shift + z(z键点两下) 退出并保存文件
脚本执行:执行下面命令
chmod +x hello.sh //赋予脚本可执行权限
./hello.sh //即可执行脚本(还有其他执行脚本的方式)
2. 变量定义
variable.sh
#!/bin/bash
# 自定义变量:
# 定义变量:变量名=变量值,注意:等号=前后不能有空格
# 撤销变量:unset 变量名
# 静态变量:readonly 变量,注意:不能unset
# 变量定义规则:
# (1) 等号=两侧不能有空格
# (2) 在bash中,变量默认类型都是字符串类型,无法直接进行数值运算,需要在变量名前面加 $ 符号
# (3) 变量的值如果有空格,需要使用双引号或者单引号括起来
A=5
echo $A
readonly B=3
echo $B
C=$[$A + $B]
echo $C
3. 运算符
operator.sh
#!/bin/bash
# 运算符使用的基本语法
# $((运算式)) 或者 $[运算式]
echo $[(3+5)*10] # 正常输出 80
echo $[ 3+5 ] # 正常输出 8
4. 命令行传递参数到脚本
parmater.sh
#!/bin/bash
echo $n
echo $0 # $0代表的是脚本文件的名称
echo $1 # $1 - $9 代表第一到第九个参数
echo $2 # 超过十个的参数,后面的数字要用{}括起来,比如 echo ${10}
echo $3
echo $4
echo $# # $# 获取输入参数的总个数,常用与循环,判断参数的个数是否正确
echo $* # $* 代表命令行中所有参数,把所有参数看成一个整体
echo $@ # $@ 代表命令行中所有参数,把所有参数区别对待
echo $? # $? 返回最后一行命令执行后的状态,如果返回0,说明整个脚本正确执行
5. 条件判断
condition.sh
#!/bin/bash
# 语法: [ condition ] 注意:condition前后要有空格
# 常用判断条件:
# 两个整数之间比较
# -eq 等于(equal) -ne 不等于(not equal)
# -lt 小于(less than) -le 小于等于(less equal)
# -gt 大于(greater than) -ge 大于等于(greater equal)
# 字符串之间比较,“=”判断相等,“!=”判断不等
# 按照文件权限进行判断
# -r 有读的权限(read)
# -w 有写的权限(write)
# -x 有执行的权限(execute)
# 按照文件类型进行判断
# -e 文件存在(existence)
# -f 文件存在并且是一个常规的文件(file)
# -d 文件存在并且是一个目录(directory)
# 多条件判断
# && 表示前一条命令执行成功时,执行后一条命令
# || 表示上一条命令执行失败时,执行下一条命令
[ 23 -ge 22 ]
echo $?
[ -w condition.sh ]
echo $?
[ xiaoxiao ] && echo OK || echo notOK
[ ] && echo OK || echo notOK
echo $?