一、变量
1.1 变量命名规则
开头为字符或下划线,名字中间中能有字母、数字和下划线组成;
变量的长度不超过255个字符;
变量名在有效的范围内必须是唯一的; //如再次定义则会替换上一个变量的值
在Bash中,变量的默认类型都是字符串型。//即系统把所有值都当作字符串放到变量中,不论这个“字符串”实际上是整数、浮点数等等。
1.2 变量类型
1.2.1 用户自定义变量
1、变量=值 e.g x=5 注意,变量名只能是字母、下划线、数字组成且不能以数字开头,=号左右不可有空格
2、""会解析特殊符号,例如$,''不会解析特殊符号
3、引用变量:$变量名 例如:$x
4、所有变量默认的值都是字符串类型,不可做Math运算。
5、变量叠加 e.g y="$x"123 或者 y=${x}123
6、查看变量 set 会列出系统中所有的变量,包括环境变量和自定义变量
set -u //设定当调用不存在变量时,会提示错误
7、删除变量 unset 变量名 例如:unset x 注意没有$。
1.2.2 环境变量
1.2.2.1 环境变量与用户自定义变量的区别
环境变量是全局变量,用户自定义变量是局部变量。
用户自定义变量只在当前的 shell 中生效,环境变量在当前 shell 和这个 shell 的所有子 shell 中生效。
1.2.2.2 用户自定义环境变量
export 变量名=变量值
或
变量名=变量值
export 变量名
1.2.2.3 查看环境变量
set 查看所有变量
env 查看环境变量
1.2.2.4 删除环境变量
unset 环境名
1.2.2.5 常用的环境变量
HOSTNAME:主机名
SHELL:当前的 shell
TERM:终端环境
HISTSIZE:历史命令条数
SSH_CLIENT:当前操作环境是用 ssh 连接的,这里记录客户端 ip
SSH_TTY:ssh 连接的终端是 pts/1
USER:当前登录的用户
PATH:系统搜索命令的路径
要想直接通过脚本名执行自己的脚本:
(1)将脚本拷贝至 PATH 中的任意目录下(不建议这样做),例如:cp hello.sh /bin/
(2)将脚本所在目录添加到