> 环境与工具 > bash

bash: GNU Bourne-Again SHell

bash 是大多数 Linux 系统中用作默认 Shell 的强大命令行解释器。它提供脚本执行、命令历史、别名、作业控制等功能,帮助用户与系统交互并自动化任务。

概述

bash 是 Bourne Shell (sh) 的改进版本,结合了交互式 Shell 功能和强大的脚本功能。它提供用户自定义提示符、命令补全、历史搜索等便捷功能,是编写复杂自动化脚本的必备工具。

主要特点

bash 提供的核心功能。

  • 命令历史和编辑
  • Tab 自动补全(文件、命令、变量等)
  • 通过别名 (alias) 和函数进行用户自定义
  • 作业控制(后台/前台进程管理)
  • 强大的 Shell 脚本支持
  • 环境变量和 Shell 变量管理

主要选项

运行 bash 命令本身时可用的主要选项。可以控制脚本的执行方式或 Shell 的行为模式。

执行模式

脚本调试

生成的命令:

请尝试组合命令。

描述:

`bash` 执行命令。

通过组合这些选项,您可以与 AI 一起虚拟地执行命令。

使用示例

以各种方式启动 bash Shell 或处理脚本的示例。

启动基本交互式 Shell

bash

启动一个新的 bash Shell 会话。

执行字符串命令

bash -c "echo '当前目录: $(pwd)'"

使用 bash 执行特定的命令字符串并退出。

执行脚本文件

bash my_script.sh

执行指定的 bash 脚本文件。

启动登录 Shell

bash --login

启动一个 bash Shell,该 Shell 会像登录时一样加载初始化文件。

以调试模式执行脚本

bash -x my_script.sh

在脚本执行期间跟踪并输出每个命令。

从标准输入执行脚本

echo "ls -l" | bash -s

让 bash Shell 执行通过管道传递的命令。

提示与注意事项

使 bash 使用更高效的提示以及编写脚本时需要注意的事项。

主要配置文件

用于自定义 bash Shell 行为的主要配置文件。

  • ~/.bashrc: 在启动交互式 Shell 时执行的文件。用于定义别名 (alias)、函数、提示符设置等。
  • ~/.bash_profile: 在启动登录 Shell 时执行的文件。用于设置环境变量、调用其他初始化脚本等。
  • /etc/profile: 系统范围的登录 Shell 配置文件。包含应用于所有用户登录 Shell 的设置。

脚本编写提示

编写稳定高效的 bash 脚本的建议。

  • 在脚本开头使用 `#!/bin/bash` shebang 来明确指定使用 bash 执行。
  • 使用变量时,始终用双引号括起来,以防止出现空格或特殊字符问题(例如:`echo "$VAR"`)。
  • 使用 `set -e` 使脚本在发生错误时立即退出,并使用 `set -u` 在使用未定义变量时产生错误。
  • 使用函数来模块化代码并提高可读性。
  • 使用注释来解释脚本的目的和复杂的逻辑。

相同类别命令