#环境变量
echo $HOSTNAME #主机名echo $SHELL #目前用的哪个解释器echo $PATH #命令搜索路径echo $USER #使用的哪个用户echo $PWD #当前目录echo $HOME #家目录是哪个echo $LOGNAME #哪个用户# 位置变量echo $0 echo $1echo $2echo $3echo $* #显示所有位置值echo $# #显示位置值的总数量echo $$ # 当前进程的进程号PIDecho $? #判断上一条是否成功,0成功,其他是不成功echo $! #Shell最后运行的后台进程的PID#特殊符号"$abc" #双引 (引用整体)'$abc' #单引 (引用整体,特殊符号不起作用)`date +%Y%n%d` #反引 (放可执行的命令,返回命令的结果) $(date) = `date` {变量名}参数 #{}中为变量名,若不加可能无法识别 echo ${a}b#read配置read -p "提示信息" 变量名 #定义变量名,但不给值useradd $变量值 #给变量值-s #输入的数值不可见-t 3 #设置时间秒,超过值为空-n 3 #设置字符数量,达到立刻执行#历史命令使用history !cat #执行cat开头的最近那条历史命令!100 #执行第100条历史命令stty echo #开启显示stty -echo #关闭显示export 变量 #将局部变成全局(定义系统变量) 全局变量最好大写export -n 变量名 #取消全局属性 局部变量最好小写env #列出环境变量set #列出所有变量unset #取消定义的变量#脚本执行3种方式./脚本bash 脚本source 脚本所在的文档#运算% 取余数 余数永远小于被除的数字 echo $[26%4]expr 数值 符号 数值 \* 需要用\屏蔽,不然表示为所有echo $[数值*数值] #数值为变量不用加$echo $((数值*数值)) ** #第二个数值为指数#let 不显示结果i=1 #给值i++ i=i+1 #i值+1i-- i=i-1 #i值-1 i+=2 i=i+2 #i值+2i/=2 i=i/2 #i值/2x=43 ; y=21 ;echo $[++x],$[--y]44 20x=43 ; y=21 ;echo $[x++],$[y--]43 21#bcscale=3 #小数点留3位echo "scale=2;10/3" |bc #非交互,;多个结果echo "3>2" |bc #返回0和1真假A;B #单独执行A&&B #A成功,才执行BA||B #A失败,才执行B[ "a" == "a" ]&&echo Y||echo Ntest "abc" == "abc" 等于 [ "abc" == "abc" ]man test[ -e /etc ]-e 判断文件或目录是否存在-d 判断是否是目录且存在-f 判断是否是文件且存在-r 是否有读权限-w-x -s 看是否有东西,echo $RANDOM 随机数echo $[RANDOM%10] 10以下ping -c(次数) 2 -i(ping的速度) 0.1 -w(超出时间) 3