参考菜鸟教程:shell教程
目录
什么是shell?
shell是用户与内核进行交互操作的一种接口,目前最流行的shell成为bash shell;
shell也是一门编程语言,他是一种解释性语言,即shell脚本;
一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同shell可能支持的命令语法是不同的,
本篇技术博文的测试环境是CentOS7,以下是系统中支持的shell版本
shell脚本的执行方式
关于shell脚本的执行方式有3种
第1种
输入脚本的绝对路径或相对路径,但是需要首先赋予脚本文件+x权限(下面HelloWorld案例中有演示)
/root/helloworld.sh #绝对路径
./helloworld.sh #相对路径
第2种
使用bash或sh+脚本的方式执行
sh helloworld.sh #相对路径
sh /root/helloworld.sh #绝对路径
第3种
在第一种的前提下,在脚本的前面加".",这种方式与前两种种方式的区别是,前两种会新开一个bash,这样不同bash中的变量无法共享
./root/helloworld.sh #绝对路径
../helloworld.sh #相对路径
一、HelloWorld
1、创建文件,后缀名是.sh
命令:touch t.sh
2、使用vi命令在t.sh文件中写入代码
关于vi命令的操作,可以参考:Linux:vi命令
shell中的日志输出命令是$echo
代码:$echo "hello world"
3、给t.sh文件赋予+x权限
命令:chmod +x ./t.sh
4、运行shell脚本
命令:./t.sh
二、shell中的变量
2.1、定义变量
2.1.1、定义动态变量
格式:变量=值
示例:STR=‘HelloWorld’
注意:
1、等号两边不能有空格
2、变量名称一般习惯使用大写字母
3、双引号和单引号有区别,双引号仅仅将空格脱意,单引号会将所有的特殊字符脱意
2.1.2、删除变量
可以使用unset删除变量,但是不可以删除静态变量
示例:
A=9
unset A #撤销变量A
2.1.3、定义静态变量
可以通过readonly关键字定义静态变量,静态变量不能删除(unset)
示例:readonly B=2