20240730
bash 语法

Bash(Bourne Again Shell)是 Unix 和 Linux 系统中最常用的 Shell 之一。以下是一些 Bash 脚本编写的基础知识和语法要点:

1. 脚本开始

每个 Bash 脚本都应以一个 shebang 行开始,指定解释器的路径:

#!/bin/bash

2. 注释

Bash 脚本中的注释以 # 开头,直到行尾。

# 这是一个注释

3. 变量

变量赋值时等号两边不能有空格:

variable="value"

使用变量时,可以这样:

echo $variable

4. 字符串

字符串可以用单引号或双引号括起来。单引号内的字符串不会进行变量替换或命令扩展。

str1='Single quotes do not allow variable expansion.'
str2="Double quotes do allow variable expansion: $variable."

5. 数组

Bash 支持一维数组,数组元素用空格分隔:

array=(element1 element2 element3)
echo ${array[0]}  # 输出 element1

6. 条件语句

使用 if, elif, else, fi 进行条件判断:

if [ condition ]; then
    # 命令
elif [ another_condition ]; then
    # 命令
else
    # 命令
fi

7. 循环

  • for 循环遍历列表:
for variable in list
do
    # 命令
done
  • while 循环在条件为真时执行:
while [ condition ]
do
    # 命令
done
  • until 循环在条件为假时执行:
until [ condition ]
do
    # 命令
done

8. 函数

定义和调用函数:

my_function() {
    # 命令
}

my_function

9. 输入和输出

  • 使用 echo 输出文本。
  • 使用 read 从标准输入读取一行。
echo "Hello, World!"
read -p "Enter your name: " name

10. 管道

将一个命令的输出作为另一个命令的输入:

command1 | command2

11. 重定向

  • 输出重定向到文件:
command > file.txt
  • 追加到文件:
command >> file.txt
  • 输入重定向:
command < file.txt

12. 命令替换

执行命令并使用其输出:

echo $(command)

13. 位置参数

使用 $0, $1, $2, ... 访问脚本名和参数:

echo "Script name: $0"
echo "First argument: $1"

14. 退出状态

使用 exit 命令退出脚本,并返回状态码:

exit 0  # 成功退出
exit 1  # 错误退出

15. 算术运算

Bash 支持基本的算术运算,使用双括号:

(( a = 5 + 3 ))
echo $a

16. 测试和比较

使用方括号 [[ ]] 进行测试和比较:

if [[ -n $string ]]; then
    echo "String is not empty."
fi

17. 模式匹配

使用 =~ 进行正则表达式匹配:

if [[ $string =~ ^[0-9]+$ ]]; then
    echo "String is a number."
fi

这些是 Bash 脚本编写的一些基础语法和概念。Bash 脚本可以非常复杂和强大,但这些基础知识是构建更复杂脚本的起点。

没有了

相关阅读