1. Bash 简述
Bash 是一个类 Unix 操作系统中的一种 shell,通常被用作一种交互式的命令行界面和命令解释器。Bash 是肯·汤普逊为 Unix 开发的 Bourne shell (sh) 的一种自由软件替代品。Bash 在 GNU 版本的 Unix 上得到广泛的应用,也可移植到许多其他操作系统。Bash 支持大多数 Bourne shell 所支持的功能,以及它们的扩展。
2. Bash 基本用法
2.1 创建 Bash 脚本文件
创建 Bash 脚本文件的方法很简单,只需要新建一个 .sh 后缀的文件,然后在文件中编写需要执行的命令即可。例如,我们创建一个名为 test.sh 的文件,并把其中的内容设置成:
#!/bin/bash
echo "Hello World!"
注意文件头部的 #!/bin/bash
,它是 Linux 系统用来指定当前脚本使用何种解释器的指令。这里我们使用的是 Bash。
然后使用 chmod 命令修改文件权限,使其可以被执行:
chmod +x test.sh
之后,我们就可以执行该脚本文件了:
./test.sh
输出:
Hello World!
2.2 Bash 交互式模式
在终端中直接输入 bash
命令,即可进入 Bash 的交互式模式。在该模式下,用户可以直接输入 Bash 命令,获得命令的执行结果。
例如,在命令行中输入:
bash
即可进入 Bash 的交互式模式。在该模式下,我们可以输入一些简单的命令,如:
echo "Hello World"
输出:
Hello World
2.3 Bash 变量
在 Bash 中,我们可以定义各种变量,例如:
#!/bin/bash
name="Tom"
echo "My name is $name."
输出:
My name is Tom.
这里的 $name
就是一个变量。在 Bash 中,可以使用双引号或者单引号来定义变量的值。
Bash 中的变量还可以进行一些简单的运算和操作,例如:
a=10
b=20
result=`expr $a + $b`
echo "a + b = $result"
输出:
a + b = 30
这里使用 `` 来执行命令。注意,在 `` 内的命令无需加上 $ 符号。
2.4 Bash 条件语句
在 Bash 中,可以使用 if、else 和 elif 等语句来实现条件控制,例如:
#!/bin/bash
score=60
if [ $score -gt 90 ]
then
echo "Grade is A"
elif [ $score -gt 80 ]
then
echo "Grade is B"
else
echo "Grade is C"
fi
输出:
Grade is C
这里的条件判断是通过 if、elif、else 来完成的。注意,在条件判断中,要使用方括号 [] 来表示条件。
3. Bash 进阶
3.1 Bash 函数
Bash 中也支持函数的定义和使用,例如:
#!/bin/bash
function hello_world() {
echo "Hello World"
}
hello_world
输出:
Hello World
这里通过 function 来定义一个函数,并通过函数名来调用该函数。
3.2 Bash 数组
Bash 中的数组定义方式与其他语言略有差异,例如:
#!/bin/bash
arr=("apple" "banana" "cherry")
echo ${arr[1]}
输出:
banana
这里使用小括号 () 来定义一个数组,并使用花括号 {} 来访问数组元素。
3.3 Bash 循环
在 Bash 中,可以使用 for 和 while 来实现循环,例如:
#!/bin/bash
arr=("apple" "banana" "cherry")
for fruit in ${arr[@]}
do
echo $fruit
done
输出:
apple
banana
cherry
这里使用 for in 语句来循环遍历数组中的元素,并使用 @ 符号来表示数组中的所有元素。
4. 结语
Bash 是一个非常强大的 Unix shell,可以帮助用户简化许多操作。通过本文的介绍,读者可以初步了解 Bash 的基本用法和进阶功能。当然,Bash 的功能远不止于此,有兴趣的读者可以深入学习和研究。