脚本就是将复杂的执行过程,通过逻辑代码,组成一个脚本文件去执行。
一个简单的脚本解析说明: 使用shell脚本查看当前的时间和谁登录的系统。
#!/bin/bash
# 查看系统时间和登录的用户
echo "The time and date are :"
date
echo ""
echo "who's logged into the system :"
who
脚本解析:
1、 #!/bin/bash 用来指定脚本文件的解释器。
2、 # xxxxx 用来作文脚本注释,解释器不执行。
3、 echo "xxx" 用来输出一段文本,类似printf,输出函数
4、 date/who Linux的外置变量,也是linux指令,用来获取系统信息,如date获取当前 时间,who用来获取当前用户
执行脚本文件: bash 文件名.sh ,结果如下图
echo、转义字符、单引号、双引号、反引号。
1、 echo 用来输出字符,可以识别特殊变量
2、转义字符 \,用来使$符号原模原样输出,含义就是还原符号原本的模样,不会被解析为 特殊含义。
3、双引号会识别特殊变量
4、单引号不会识别特殊变量
5、反引号会将结果保留下来。
shell中的变量在定义的时候会赋予其值,脚本中的变量在shell执行完毕后,根据执行脚本的方式的不同,变量会消失或者保存。
当使用 bash 和 sh 的方式执行的时候,是开启子shell进程运行的。变量也是在子shell中加 载,当子shell退出后,变量消失。
当使用source 和 ./ 的方式执行脚本的时候,是在当前shell环境中加载变量,执行脚本。
注意对变量值的获取要加上 美元符号。
Linux ,shell变量的替换引用
shell的一大特性,可以从命令的执行结果中再次提取结果,因此适合脚本编写。
1、$()
2、`` 反引号
linux中的特殊符号的整理
1、${var} 用于取出变量结果,类似 $变量
2、$() 在括号中执行命令,且拿出命令的执行结果
3、`` 和$() 含义一样。
4、() 开启子shell执行命令结果
5、$vars 用于取出变量结果