1.开头:#!/bin/sh或#!/bin/bash
一 定义变量
1.全局变量 局部变量
在脚本或者直接在目录下调用的定义的变量是局部变量
2.查看变量用echo 调用变量要用 $
3.只读变量 readonly 删除变量 unset
4.查看所有环境变量 env
5."" 和 ‘’ 的变量的区别在于 “” : 内可以识别变量 和转义字符
二 变量的使用
1.系统常见变量
#!/bin/bash echo " Bash Shell 版本:$BASH" echo "Bash 版本:$BASH_VERSION" echo "用户家目录:$HOME" echo "当前登录家用户的名字:$LOGNAME" echo "当前系统类型:$OSTYPE" echo "Path可执行路径:$PATH" echo "当前工作路径$PWD" echo "shell 路径$SHELL"
2.上面代码执行输出结果
[root@localhost shell]# ./cs.sh Bash Shell 版本:/bin/bash Bash 版本:4.2.46(2)-release 用户家目录:/root 当前登录家用户的名字:root 当前系统类型:linux-gnu Path可执行路径:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin 当前工作路径/root/shell shell 路径/bin/bash
3.自定义变量
规则:
1.用户变量可以是任何不超过20个的字母、数字或者下划线字符的文本字符串
2.变量只能以字母或下划线开头
3.用户变量是大小写敏感的,因此,变量Var1和变量var1是不同的变量
4.变量的使用
命名变量:
变量名=变量值
root@ mysql-master tmp]# name=wjj [root@ mysql-master tmp]# echo $name wjj
4.特殊变量
特殊变量 含义 $$ Shell本身的PID(ProcessID) $! Shell最后运行的后台Process的PID $? 最后运行的命令的结束代码(返回值) $- 使用Set命令设定的Flag一览 $* 所有参数列表。如"$*"用「"」括起来的情况、以"$1 $2 … $n"的形式输出所有参数。 $@ 所有参数列表。如"$@"用「"」括起来的情况、以"$1" "$2" … "$n" 的形式输出所有参数。 $# 添加到Shell的参数个数 $0 Shell本身的文件名 $1~$n 添加到Shell的各参数值。$1是第1参数、$2是第2参数…