Shell 基础

2021-09-21 17:28:04
admin
2233
最后编辑:admin 于 2021-09-22 12:04:48

关于 Shell

Shell 是用户与 Linux 系统之间的沟通桥梁,用户通过 Shell 访问操作 Linux 内核资源。

我们平时敲的 Linux 命令就是最基本的 Shell 命令。Shell 不仅仅是命令语言,也是一种程序设计语言,可以用它编写各种 Shell 脚本以满足不同场景的需求。通过 Shell 实现自动化,提升我们的工作效率。

Shell 的分类

Shell 有很多种类,如:bash、zsh、csh、ksh……这里所谓的种类,本质上讲就是指 Shell 的各种不同解释器。我们平时所说的 Shell 默认多指 bash,大部分的 Linux 发行版都是以 bash 作为系统默认 Shell,本手册也主要是以 bash 探讨的。

学会了 bash ,其他种类也都是大同小异,彼此兼容相通的。比如很多小伙伴喜欢用 oh-my-zsh,并把 zsh 作为默认的系统 Shell。

从 Hello World 开始

创建一个 Shell 脚本,即一个以 .sh 为后缀的文件,如 helloworld.sh,其内容为:

# 这是我的第一个脚本
#!/bin/bash
echo "Hello World !"

# 表示注释行,shell 会直接忽略注释行的内容。

#! shell 脚本第一行的#!用来指定用哪种类型的 Shell (解释器)来处理本该脚本,常用 #!/bin/bash

echo 命令可以输出要显示的文本内容。内容可以用单引号或双引号引起来。

shell 脚本中运行多个命令时,可以每一行写一个命令,并回车。shell 会逐行执行。如果要写在同一行,则命令之间用分号 ; 分隔。

执行脚本之前,确保脚本有可执行权限。(Linux 下新建文件的默认权限通常是644,是没有执行权限的。)

chmod +x ./helloworld.sh    #为脚本添加执行权限
./helloworld.sh             #执行脚本,注意 ./ 不能少!

在执行 Shell 脚本时,我们须要告诉 Linux 该 Sehll 脚本的所在目录位置,在提示符中用绝对或相对文件路径来引用 Shell 脚本文件即可。否则如果只告诉 Linux 要执行的脚本文件名,Linux 就会去环境变量中查找,结果通常是因为找不到而无法执行。