什么是Shell?常见种类与脚本基础
1. 什么是Shell
2. Shell 种类
3. 命令
答:
- Shell是一个由c语言编写的应用程序,它是用户使用 Linux 的桥梁。Shell 既是一种命令语言,又是一种程序设计语言
它连接了用户和Linux内核,让用户能够更加高效、安全、低成本地使用 Linux 内核
其本身并不是内核的一部分,它只是站在内核的基础上编写的一个应用程序,它和 QQ、微信等其它软件没有什么区别,特殊的地方就是开机立马启动,并呈现在用户面前
主要作用是接收用户输入的命令,并对命令进行处理,处理完毕后再将结果反馈给用户,比如输出到显示器、写入到文件等,同样能够调用和组织其他的应用程序,相当于一个领导者的身份,如下图:
那么shell脚本就是多个 Shell 命令的组合并通过 if 条件分支控制或循环来组合运算,实现一些复杂功能,文件后缀名为.sh
常用的 ls 命令,它本身也是一个 Shell 脚本,通过执行这个 Shell 脚本可以列举当前目录下的文件列表
2. 关于 Shell 的几个常见命令:
- Shell 并不是简单的堆砌命令,我们还可以在 Shell 中编程,这和使用 C++、C#、Java、Python 等常见的编程语言并没有什么两样。
Shell 虽然没有 C++、Java、Python 等强大,但也支持了基本的编程元素,例如:
补充
补充:Shell 是「命令解释器 + 脚本语言」,既是用户与内核之间的接口,也是 Linux 自动化的核心工具。
常见 Shell:
- Bash(/bin/bash):Linux 默认 Shell,脚本兼容性最好。
- Zsh:macOS Catalina 后默认 Shell,交互体验好(oh-my-zsh、starship)。
- Fish:开箱即用、自动补全强,语法与 Bash 不完全兼容。
- Sh(DASH):Debian/Ubuntu 中
/bin/sh默认指向 dash,速度快但功能少。
Shell 脚本基础:
#!/bin/bash
# 注释
NAME="world"
echo "hello, $NAME"
if [ -f "$1" ]; then
echo "file exists: $1"
fi
for i in $(seq 1 5); do
echo "i=$i"
done
补充:编写脚本要
chmod +x script.sh添加执行权限;调试可用bash -x script.sh打印每条执行的命令。



