变量2-位置-状态-特殊变量
一、SHELL位置变量
1.位置变量说明
123456$0 获取当前执行的脚本文件名$n 获取当前执行的脚本的第n个参数,n大于10要用大括号,用于传参$# 获取当前脚本所有后面所接参数的总个数$* 获取当前脚本所有传参的参数$@ 获取当前脚本所有传参的参数$和$@不加双引号时无区别,加双引号时,$""将所有参数视为单个字符串,$"@"将所有字符串视为不同的独立字符串
2.0、0、0、#、$n联合演示
cat test.sh
123456if [ $# -ne 2 ] #如果传入参数不是2个 then echo "/bin/sh $0 arg1 arg2" #提示用户脚本路径和用法 exit 1 #退出并返回1 fi echo $1 $2 #满足2个参数则执行命令
sh test.sh
/bin/sh test.sh arg1 arg2. 不加参数,提示用户用法
sh test.sh ni wo
ni wo 正确执行结果
二、shell状态变量
1.特殊状态变量
变量
用途
$ ...
变量1-规范-环境变量-普通变量
一、shell脚本基本知识
1.基础
1)脚本解释器:
第一行写明解释器,井号在第一行则为解释器,不同的语言用不同的解释器
#!/bin/bash
2)脚本注释:
在非第一行用井号进行注释,可开新行,也可以在该行命令后面,不要用中文
3)脚本执行:
123bash test.sh #文件无执行权限都可以执行,推荐方式./test.sh #使用路径执行,文件需要有执行权限source test.sh #不启用子进程执行脚本,source和 .作用相同
前两种都会启用子进程,子进程的变量不会传递到主进程,
2.shell脚本规范
脚本第一行指定脚本解释器
开头增加版本及版权信息
脚本中尽量不要使用中文
脚本以.sh为扩展名
脚本应存放在固定的路径里
成对的符合尽量一次性写出来,再退格插入内容
中括号两端至少要有一个空格
对流程控制语句,应一次性写完格式再添加内容
通过缩进让代码更易读
3.引号的用法
双引号 常规字符串的定义用双引号.
单引号 所见及所得的引用使用单引号.
反引号 命令的引用使用反引号.
所有引号为英文状态符号,等号前后不要有空格
二、shell环境变量
系统用e ...