Shell脚本的概念
- 将要指定的命令按顺序保存到一个文本文件
- 给该文件可执行权限
- 可结合各种Shell控制语句已完成更复杂的操作
Shell脚本应用场景
- 重复性操作
- 交互性任务
- 批量事务操作
- 服务运行状态监控
- 定时任务控制
- ..............
Shell的作用
- Shell的作用——命令解释器,“翻译官”
- 介于系统内核与用户之间,负责解释命令行
Shell变量的作用,类型
变量的作用
- 用来存放系统和用户需要使用的特定参数(值)
- 变量名:使用固定的名称,由系统预设或用户定义
- 变量值:能够根据用户设置,系统环境的变化而变化
变量的类型
- 自定义变量:由用户自己定义,修改使用
- 定义一个新的变量
- 变量名以字母或下划线开头,区分大小写,建议全大写
- 变量名=变量值
- 查看变量的值
- echo=$变量名
- ' '不保留特殊字符
- " "保留特殊字符
- 定义一个新的变量
- 特殊变量:环境变量,只读变量,位置变量,预定义变量
-
环境变量:
- 环境变量是定义在Shell进程中的变量,它们可以被当前Shell进程以及由当前Shell进程创建的所有子进程访问。
- 常见的环境变量包括
PATH
、HOME
、USER
、SHELL
等。 - 可以通过
export
命令将普通变量设置为环境变量,例如:export MY_VARIABLE="value"
。 - 可以通过
echo $VARIABLE_NAME
或printenv VARIABLE_NAME
来查看环境变量的值。
-
只读变量:
- 只读变量是一个值不能被修改的变量。
- 使用
readonly
命令可以将变量设置为只读,例如:readonly MY_READONLY_VARIABLE="value"
。 - 尝试修改只读变量的值会导致错误。
-
位置变量:
- 位置变量是Shell脚本在运行时接收的命令行参数。
$0
代表脚本自身的名称。$1
、$2
、$3
...等代表第一个、第二个、第三个...命令行参数。$#
代表传递给脚本的命令行参数的数量。$*
代表所有命令行参数,作为一个单一的字符串。$@
也代表所有命令行参数,但是每个参数都是一个独立的字符串。
-
预定义变量:
- 预定义变量是Shell已经定义好的,具有特殊含义的变量。
$?
代表上一个命令的退出状态。0通常表示成功,非0值表示失败或错误。- `
-