目录
8.4 测试表达式 test 、[] 、[[]] 、 (()) 的区别
常见的shell分为两大主流:
sh 和 csh
查看系统默认的shell:echo $SHELL
查看系统支持的shell: cat /etc/shells
read -p(提示语句) -n(字符个数) -t(等待时间,单位为秒) -s(隐藏输入)
例子:
read -t 30 -p “please input your name: “ NAME
echo $NAME
bash只支持一维数组,不支持多维数组
array_name = (li wang xiang zhang) # (小括号做边界、使用空格分离)
array_name[0]=“zhao”
${#array_name[@]} 或者 ${#array_name[*]}
${#array_name[1]}
unset array_name[4]
位置参数是一种在调用 Shell 程序的命令行中按照各自的位置决定的变量,是在程序名之后输入的参数。位置参数之间用空格分隔,Shell取第一个位置参数替换程序文件中的 $1,第二个替换 $2 , 依次类推。
$0 是一个特殊变量,它的内容是当前这个shell程序的文件名,所以 $0 不是一个位置参数。
$n: n为数字,$0代表命令本身,$1-$9代表第一到第9个参数,十以上的参数需要用大括号包含,如${10}
$*: 代表命令行中所有的参数,把所有的参数看成一个整体。以"$1 $2 … $n"的形式输出所有参数
$@: 代表命令行中的所有参数,把每个参数区分对待。以"$1" "$2" … "$n" 的形式输出所有参数
$#: 代表命令行中所有参数的个数。添加到shell的参数个数
Shell中常见的算术运算符

Shell 中常见的算术运算命令


let 赋值表达式

expr 表达式 # 运算符号和数字之间要有空格
expr在Shell中可配合变量进行计算,但需要用反引号将计算表达式括起来。




注:(())不能用于文件测试,文件测试一般常用的是 [ ]

注: == 和 != 两端要有空格 ,(())不能用于字符测试

- if 条件判断
- then
- 命令
- fi
例子:
- if 条件判断
- then
- 命令
- elif 条件判断
- then
- 命令
- fi
例子:

- case 变量 in
- one)
- 命令
- ;;
- two)
- 命令
- ;;
- *)
- 命令
- esac
例子:

效果展示:

- for 条件
- do
- 命令
- done

效果展示:


效果展示:

- while 条件
- do
- 命令
- done
例子:

效果展示:

- function name(){
- statements
- [return values]
- }
对各个部分的说明:
如果你嫌麻烦,函数定义时也可以不写 function 关键字
如果写了 function 关键字,也可以省略函数名后面的小括号
例子:

效果展示:
