Shell脚本
什么是Shell
1. Shell是命令解释器(command interpreter),是Unix操作系统的用户接口,程序从用户接口得到输入信息,shell将用户程序及其输入翻译成操作系统内核(kernel)能够识别的指令,并且操作系统内核执行完将返回的输出通过shell再呈现给用户.
2. Shell也是一门编程语言,即shell脚本,shell是解释执行的脚本语言,可直接调用linux命令。 .java -> .class
3. 一个系统可以存在多个shell,可以通过cat /etc/shells命令查看系统中安装的shell,不同的shell可能支持的命令语法是不相同的。
如何查看Shell
Shell环境变量(添加PATH环境变量)
1.将nginx服务路径添加到PATH环境变量中
2.在任意的虚拟目录下执行nginx服务
创建Shell脚本
一个Shell脚本通常包括如下部分:
Shell 编程跟 JavaScript、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。
Linux 的 Shell 种类众多,常见的有:
Bourne Shell(/usr/bin/sh或/bin/sh)
Bourne Again Shell(/bin/bash)
C Shell(/usr/bin/csh)
K Shell(/usr/bin/ksh)
Shell for Root(/sbin/sh)
第一行内容在脚本的首行左侧,表示脚本将要调用的Shell解释器
Permission denied:权限不足,给它777权限
Shell的一些用法
要显示提示符的当前格式,可以使用 echo 输出 PS1 和 PS2;
我们可以通过修改 `PS1` 变量来修改提示符格式,例如:
新的 Shell 提示符现在可以显示当前的时间和用户名。不过这个新定义的 PS1 变量只在当前 Shell 会话期间有效,再次启动 Shell 时将重新使用默认的提示符格式。
Shell变量
认识变量
my_name="hh"
注意 :
变量名和等号之间不能有空格。
命名只能使用英文字母,数字和下划线,首个字符不能以数字开头。
中间不能有空格,可以使用下划线(_)。
不能使用标点符号。
不能使用bash里的关键字(可用help命令查看保留关键字)。
使用变量
使用一个定义过的变量,只要在变量名前面加美元符号即可;
变量名外面的宽括号是可选的,加不加都行,加宽括号是为了帮助解释器识别变量的边界;(建议加)
如图:
只读变量
使用 readonly 命令可以将变量定义为只读变量,只读变量的值不能被改变。
删除变量
使用 unset 命令可以删除变量;
变量被删除后不能再次使用,unset 命令不能删除只读变量。
Shell字符串
1.字符串可以用单引号,也可以用双引号,也可以不用引号;
2.单引号里的任何字符都会原样输出,单引号字符串中的变量是无效的;
3.单引号字串中不能出现单独一个的单引号(对单引号使用转义符后也不行),但可成对出现,作为字符串拼接使用。
双引号
拼接字符串
第一个使用双引号拼接
第二个使用单引号拼接