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 脚本可以非常复杂和强大,但这些基础知识是构建更复杂脚本的起点。