.1. 变量
变量是 Shell 脚本编程中最基本的概念之一,用于存储数据。Shell 中的变量不需要事先声明,只需要在变量名前加上 $
符号即可引用该变量。
1 2
| name="John" echo "My name is $name."
|
.2. 常用判断
在 Shell 脚本编程中,常常需要根据某些条件进行判断。
.2.1. if 语句
1 2 3 4
| if [ $num -gt 10 ]; then echo "The number is greater than 10." fi
|
.2.2. case 语句
1 2 3 4 5 6 7 8 9 10 11
| case $variable in value1) echo "Variable is value1." ;; value2) echo "Variable is value2." ;; *) echo "Variable is neither value1 nor value2." ;; esac
|
.3. 流程控制
.3.1. for 循环语句
1 2 3
| for i in {1..5}; do echo $i done
|
.3.2. while 语句
1 2 3 4
| while [ $num -le 10 ]; do echo $num num=$((num+1)) done
|
.4. 传参
在 Shell 脚本中,可以通过命令行参数来传递参数值。
1 2 3 4
| #!/bin/bash
echo "The first parameter is: $1" echo "The second parameter is: $2"
|
在上述代码中,使用 $1
和 $2
来引用第一个和第二个参数。
输出结果
1 2
| The first parameter is: foo The second parameter is: bar
|
.5. 函数
函数来封装重复使用的代码.
1 2 3 4 5 6 7
| #!/bin/bash
greeting() { echo "Hello, $1!" }
greeting "John"
|
1 2
| [root@VM-0-9-centos tmp] Hello, John!
|
.6. 数组
在 Shell 脚本中,可以使用数组来存储一组数据。
1 2 3 4 5 6 7
| #!/bin/bash
fruits=("apple" "banana" "orange")
echo ${fruits[0]} echo ${fruits[1]} echo ${fruits[2]}
|
1 2 3 4
| [root@VM-0-9-centos tmp] apple banana orange
|
.7. 示例
以下是一个综合使用变量、常用判断、流程控制、传参、函数、数组的 Shell 脚本示例
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21
| #!/bin/bash
name="John" age=20 fruits=("apple" "banana" "orange")
if [ $age -ge 18 ]; then echo "$name is an adult." else echo "$name is not an adult." fi
for fruit in ${fruits[@]}; do echo "I like $fruit." done
greeting() { echo "Hello, $1!" }
greeting $name
|
1 2 3 4 5 6
| [root@VM-0-9-centos tmp] John is an adult. I like apple. I like banana. I like orange. Hello, John!
|