①、算数运算:+、-、*、/、%、**(乘方)
方法:①、let name=算数运算
②、var=$[算数运算]
③、var=$((算数运算))
④、exper $name 运算符 $name (*需要转义)
⑤、declare -i name (声明为int型)
⑥、传给bc
②、 逻辑运算:&、|、!、^(异或)
异或技巧:交换x与y的值:x=$[x^y] y=$[x^y] x=$[x^y]
③、短路 分为:短路与 短路或
④、随机变量:$RANDOM (0—32767) 例如随机颜色:echo -e "\033[1;$[RANDOM%7+31]LDY \033[0m"
⑤、增强变量:(只能用let) +=、-+、*=、/=、++、-- (j=i++与j=++i)
⑥、环境变量(变量如同家族继承):export name=value
declare -x name=value
查看环境变量:env printenv declare -x export
⑦、只读变量:readonly name=value declare -r name=value
查看只读变量:readonly declare -r
⑧、变量引用:$name ${name}
⑨、位置变量(传递参数)
$1,$2,...... 对应第一个参数,第二个参数...... (注意$10与${10}区别)
$0 显示命令本身,包括路径。与`basename $0`联用最好
$* 所有参数,合为一个字符串
$@ 每个参数为独立字符
$# 显示参数个数
例如:给其他主机转发文件的脚本:#!/bin/bash
scp $* ldy@10.0.0.100:/etc/data/script
$_ 前一个命令的最后一个参数
$- 显示不同字母,每个字母代表一种功能
$? 专门查看上一个命令的真假状态。脚本就看最后一条命令。0成功,1-255失败。
exit n 干预$?成功的结果。如网页404表示没有此网页。403表示没有访问权限。
set 实现脚本安全 -u 若无变量,执行到没有的变量时则会报错。 <==> set -o nounset
-e 若中间有错误命令,就会报错 <==> set -o errexit
-x 跟踪执行过程
set -o 查看开关,-参数 打开 +参数 关闭
echo ‘ ’ 通通认为是字符
“ ” 命令认为字符,变量为变量
` ` 命令,变量都认识