变量的设置规则:
- 变量等号两边不能有空格
- 变量的单引号和双引号
- 双引号中的特殊字符$等,可以保持原有特性:var="lang is $LANG" echo $var 输出结果是:lang is en_US
- 单引号中的特殊字符,是纯文本 : var='lang is $LANG' echo $var 输出结果是:lang is $LANG
- 使用转义字符 可以将特殊符号,变成一般字符 反单引号`命令`,反单引号中的内容会被先执行,执行的结果,作为外部的输入信息
-
- pidsss=`ps aux|grep nginx` echo $pidsss
- 追加变量内容,"$变量"追加内容 或者 ${变量}追加内容
- 特殊变量$和?
- $ 本身就是一个变量,表示这个shell的线程号,echo $$ 就能查看shell的PID
- ? 这个变量是指,上一个执行命令所回传的值。当执行某些命令时,这些命令会回传一个执行后的代码。如果成功被执行,则传一个0值;执行错误时,传回非0值
- 12name=VBird echo $? 所得到的就是非0值
- shell默认参数:
- $0 这一行所有数据
- $! 上一个命令的PID
- $# 传递到脚本的参数个数,代表后接参数的个数
- $@ 代表“$1”,“$2”,“$3”,“$4”,每个变量是独立的,用双引号引起来
- $* 代表“$1$2$3$4”
- $? 上一个命令的返回情况,0是正常,非0是异常