3.1概论
概论
shell是我们通过命令行与操作系统沟通的语言。
shell脚本可以直接在命令行中执行,也可以将一套逻辑组织成一个文件,方便复用。
AC Terminal中的命令行可以看成是一个 “shell脚本在逐行执行” 。
Linux中常见的shell脚本有很多种,常见的有:
- Bourne Shell(
/usr/bin/sh
或/bin/sh
) - Bourne Again Shell(
/bin/bash
) - C Shell(
/usr/bin/csh
) - K Shell(
/usr/bin/ksh
) - zsh
- …
Linux系统中一般默认使用bash,所以课程讲解bash中的语法。
文件开头需要写#! /bin/bash
,指明bash为脚本解释器。
学习技巧
不要死记硬背,遇到含糊不清的地方,可以在AC Terminal 里实际运行一遍。
脚本示例
新建一个test.sh
文件,内容如下:(echo
相当于cout
或printf
)
#! /bin/bash
echo "Hello World"
运行方式
(1) 作为可执行文件执行(必须具有可执行权限)
acs@ed0c1e6d3831:~$ chmod +x test.sh # 使脚本具有可执行权限
acs@ed0c1e6d3831:~$ ./test.sh # 当前路径下执行
Hello World! # 脚本输出
acs@ed0c1e6d3831:~$ /home/acs/test.sh # 绝对路径下执行
Hello World! # 脚本输出
acs@ed0c1e6d3831:~$ ~/test.sh # 家目录路径下执行
Hello World! # 脚本输出
(2) 用解释器执行(不需要具有可执行权限)
acs@ed0c1e6d3831:~$ bash test.sh
Hello World! # 脚本输出