BashBourne-Again Shell 的缩写,是 Linux 和 Unix 系统中默认的命令行解释器(Command Interpreter)。它是一个 命令语言解释器,用于与操作系统进行交互,执行用户输入的命令、脚本和程序。


1. Bash 的基本作用

  • 执行命令:用户在终端中输入命令,Bash 解释并执行这些命令。
  • 运行脚本:Bash 支持编写脚本(Shell Script),通过 .sh 文件来批量执行一系列命令。
  • 环境配置:Bash 可以读取配置文件(如 ~/.bashrc~/.bash_profile)来设置环境变量、别名等。
  • 管道与重定向:支持命令之间的管道(|)、输入输出重定向(>>><)等操作。

2. Bash 的特点

功能强大

  • 支持条件判断、循环、函数、变量、数组等编程结构。
  • 提供丰富的内置命令(如 echogrepsedawk 等)。

可扩展性高

  • 用户可以自定义别名(Alias)、函数、环境变量等。
  • 支持插件和模块化扩展(如通过 bash_completion 实现命令补全)。

跨平台兼容

  • 在大多数 Linux 发行版和 macOS 中默认安装。
  • Windows 10/11 也支持 Bash(通过 WSL - Windows Subsystem for Linux)。

3. Bash 常见使用场景

场景示例
执行单条命令$ ls
运行脚本$ ./script.sh
编写自动化任务使用 cron 定时执行 Bash 脚本
配置环境变量export PATH=$PATH:/usr/local/bin
条件判断if [ $var -eq 1 ]; then ... fi
循环处理for file in *.txt; do ... done

4. Bash 命令示例

4.1 基本命令

$ echo "Hello, World!"   # 输出文本
$ ls                    # 列出当前目录内容
$ pwd                   # 显示当前工作目录
$ cd /home              # 切换目录

4.2 变量与条件

$ name="CSDN"
$ echo "Welcome, $name"  # 输出 Welcome, CSDN

$ if [ $name == "CSDN" ]; then
>   echo "You are welcome!"
> fi

4.3 循环与函数

$ for i in 1 2 3; do
>   echo "Number: $i"
> done

$ greet() {
>   echo "Hello, $1!"
> }
$ greet "User"

4.4 管道与重定向

$ ps -e | grep sshd     # 查找包含 sshd 的进程
$ ls > files.txt        # 将 ls 结果保存到文件
$ cat file.txt | wc -l  # 统计文件行数

5. Bash 脚本文件格式

一个简单的 Bash 脚本示例:

#!/bin/bash
# 这是一个简单的 Bash 脚本

echo "This is a Bash script."
echo "Current directory: $(pwd)"

保存为 hello.sh,然后赋予执行权限并运行:

$ chmod +x hello.sh
$ ./hello.sh

6. Bash 与 Shell 的关系

  • Shell 是一个通用术语,指代所有命令行解释器(如 BashZshKshTcsh 等)。
  • Bash 是最常用的 Shell,由 GNU 项目开发,广泛用于 Linux 和 macOS。

7. Bash 的版本

  • Bash 4.x:目前主流版本,支持更多高级特性(如数组、关联数组、正则表达式等)。
  • Bash 5.x:最新版本,引入了更多改进和优化。

8. Bash 的学习资源


如果你有具体的 Bash 命令或脚本需要解释,欢迎继续提问!

 

Logo

openEuler 是由开放原子开源基金会孵化的全场景开源操作系统项目,面向数字基础设施四大核心场景(服务器、云计算、边缘计算、嵌入式),全面支持 ARM、x86、RISC-V、loongArch、PowerPC、SW-64 等多样性计算架构

更多推荐