Unix/Linux 系统中最常用的命令行解释器之一,它是原始 Bourne shell (sh) 的增强版本。以下是 Bash 的详细解释:
1. Bash 基础
1.1 什么是 Bash
- 一个命令行解释器,用于执行用户输入的命令
 - 支持脚本编程,可以编写复杂的自动化任务
 - 提供命令历史、命令补全、别名等便利功能
 
1.2 基本命令结构
            
            
              bash
              
              
            
          
          command [options] [arguments]
命令[选项][参数]
        例如:
            
            
              bash
              
              
            
          
          ls -l /home
        2. Bash 特性
2.1 变量
- 定义变量:
name=value(注意等号两边不能有空格) - 使用变量:
$name或${name} - 环境变量:
export VAR=value 
2.2 特殊变量
$0- 脚本名称$1-$9- 脚本参数$#- 参数个数$*- 所有参数$?- 上一条命令的退出状态$$- 当前 shell 的进程 ID
2.3 引号
- 单引号 
':保留所有字符的字面值 - 双引号 
":允许变量和命令替换 - 反引号 ````` 或 
$():命令替换 
2.4 输入输出重定向
>- 输出重定向(覆盖)>>- 输出重定向(追加)<- 输入重定向2>- 错误输出重定向&>- 标准输出和错误输出都重定向
3. Bash 脚本编程
3.1 脚本基础
            
            
              bash
              
              
            
          
          #!/bin/bash
# 这是一个注释
echo "Hello, World!"
        3.2 条件判断
            
            
              bash
              
              
            
          
          if [ condition ]; then
    commands
elif [ condition ]; then
    commands
else
    commands
fi
        3.3 循环结构
for 循环:
            
            
              bash
              
              
            
          
          for var in list; do
    commands
done
        while 循环:
            
            
              bash
              
              
            
          
          while [ condition ]; do
    commands
done
        3.4 函数
            
            
              bash
              
              
            
          
          function_name() {
    commands
    [return value]
}
        4. 高级特性
4.1 数组
            
            
              bash
              
              
            
          
          array=(value1 value2 value3)
echo ${array[0]}  # 访问第一个元素
echo ${array[@]}  # 访问所有元素
        4.2 正则表达式
=~操作符用于正则匹配
            
            
              bash
              
              
            
          
          if [[ "string" =~ pattern ]]; then
    echo "匹配成功"
fi
        4.3 进程控制
&- 后台运行;- 顺序执行&&- 前一个成功才执行下一个||- 前一个失败才执行下一个
4.4 调试
set -x- 开启调试模式set +x- 关闭调试模式bash -x script.sh- 调试运行脚本
5. 实用技巧
5.1 命令历史
history- 查看命令历史!n- 执行历史中第 n 条命令!!- 执行上一条命令!string- 执行最近以 string 开头的命令
5.2 别名
            
            
              bash
              
              
            
          
          alias ll='ls -l'
unalias ll
        5.3 通配符
*- 匹配任意字符?- 匹配单个字符[]- 匹配括号内的任一字符
5.4 管道
|- 将一个命令的输出作为另一个命令的输入
            
            
              bash
              
              
            
          
          ls -l | grep "txt"
        Bash 是一个功能强大的工具,掌握它可以大大提高在 Unix/Linux 系统下的工作效率。以上只是 Bash 的基础知识,实际使用中还有更多高级特性和技巧等待探索。