携手创作,共同成长!这是我参与「掘金日新计划 · 8 月更文挑战」的第7天,点击查看活动详情
前言
- 我们平时开发的程序都可以称之为脚本。只不过现在主流称之为脚本的大家第一想到的是SHELL,PYTHON等语言实现的功能。
- 因为像SHELL这种语言是LINUX系统自带的。大多数会被运维使用,用来开发运维服务的快捷脚本。
初始SHELL
-
shell脚本的标识即使
#!/bin/bash
。有的时候我们看到脚本里并没有这一行,这里注意下就行,正规的脚本是应该带有这个头部信息的。 -
正常我们的脚本文件是.sh结尾的文件,当我们编写好文件后并不会立刻就执行的。这个时候我们还需要给我们的脚本文件授权。
chmod +x first.sh
- 这样我们的脚本就可以执行了,这里赋予的权限不要太大。毕竟权限打了容易出事。
数值计算
$(($operand+$number))
- 通过如下格式我们能够实现数值的加法计算。除此之外我们还可以通过
expr $a + $b
这种通用形式。
预测
- 有的时候我们想在某种条件的基础上在执行我们的脚本,大家一定第一反应就是if 。这里有的简单的写法。
cmd || xxx.sh
- 上述表示当
cmd
命令出错时,才会执行xxx.sh脚本。与之对应的还有&&
变量传递
- n 用于表示我们脚本接收的参数。2就是第二个以此类推
- $0用来表示脚本的名称。
Shell 变量的命名规范和大部分编程语言都一样:
- 变量名由数字、字母、下划线组成;
- 必须以字母或者下划线开头;
- 不能使用 Shell 里的关键字(通过 help 命令可以查看保留关键字)。
变量作用域
- 运行shell时,会同时存在三种变量:
1) 局部变量\ - 局部变量在脚本或命令中定义,仅在当前shell实例中有效,其他shell启动的程序不能访问局部变量。
2) 环境变量\ - 所有的程序,包括shell启动的程序,都能访问环境变量,有些程序需要环境变量来保证其正常运行。必要的时候shell脚本也可以定义环境变量。
3) shell变量\ - shell变量是由shell程序设置的特殊变量。shell变量中有一部分是环境变量,有一部分是局部变量,这些变量保证了shell的正常运行