一、语言特点
-
解释型语言,边翻译边执行。
- 擅长文件处理和操作系统管理,开发效率高,如执行
cp 1 2
这样的文件操作命令。 - 但执行效率相对较低,移植性好。
- 擅长文件处理和操作系统管理,开发效率高,如执行
-
与编译型语言(如 C 语言)对比
- C 语言是先编译再执行,擅长数据计算和数据处理,开发效率低,执行效率高,但移植性差。
二、Shell 类型
包括 bash shell
、gnu
、c shell
(csh
)、k shell
(ksh
)、ash
等。
三、Shell 脚本编写流程
vim XX.sh
并在开头添加#!/bin/bash
以指定解释器。- 编写脚本内容。
- 使用
chmod +x XX.sh
赋予执行权限。 - 通过
./XX.sh
执行脚本。
四、Shell 变量
- 环境变量,如
env
命令可查看,常见的有:PATH
:保存当前工作的默认路径。PWD
:当前所在的工作路径。HOME
:当前登录用户的家目录。
- 位置变量,例如
./3.sh /etc/passwd 123 456
,内置变量包括:$0
:脚本文件名。$1
:传入脚本的第一个参数。$2
:传入脚本的第二个参数,以此类推到$9
。$#
:传入参数的个数。$?
:上一句 shell 命令执行的结果。$$
:当前 shell 的 PID。
五、Shell 脚本输入输出
read a
用于输入。echo '$a'
或echo "$a"
用于输出,其中""
打印字符串时遇到$
变量会打印变量中的值,而''
遇到$
变量依然打印$
变量,``
将中间的字符串按照命令打印。
六、分支语句
if
语句- 基本形式:
if 条件 then 语句 else 语句 fi 复杂版: if then elif [] then elif [] then else fi if [] then fi;
case
语句case $num in 9) 语句 ;; 8|||) 语句 ;; 7) 语句 ;; *) 语句 ;; esac
七、循环语句
1.while
循环 while [ 条件 ] do 语句 ... done2.for
循环以及until
循环
- 基本形式: