目录
if-else语句
if-else语句用于根据条件判断执行不同的命令块。
if [ condition ]; then
# 条件成立时执行的命令
else
# 条件不成立时执行的命令
fi
# 示例
# 判断变量是否为空
if [ -z "$variable" ]; then
echo "Variable is empty"
else
echo "Variable is not empty"
fi
case语句
case语句根据变量的值进行匹配,并执行符合条件的命令块。
case "$variable" in
pattern1)
# 模式1匹配时执行的命令
;;
pattern2)
# 模式2匹配时执行的命令
;;
*)
# 默认情况下执行的命令(可选)
;;
esac
# 示例
# 根据用户输入的选择执行不同的操作
echo "Enter your choice: "
read choice
case "$choice" in
1)
echo "You chose option 1"
;;
2)
echo "You chose option 2"
;;
*)
echo "Invalid choice"
;;
esac
select选择结构
select
结构用于创建一个菜单式的选择器,让用户从一系列选项中选择。
select variable in option1 option2 ... optionN
do
# 根据用户选择执行命令
case $variable in
option1)
# 执行命令1
;;
option2)
# 执行命令2
;;
...
optionN)
# 执行命令N
;;
*)
echo "Invalid option"
;;
esac
done
#!/bin/bash
# 定义菜单选项
options=("Option 1" "Option 2" "Option 3" "Quit")
# 显示菜单
PS3="Enter your choice: "
select choice in "${options[@]}"
do
case $choice in
"Option 1")
echo "You chose Option 1"
# 在这里添加执行 Option 1 的命令
;;
"Option 2")
echo "You chose Option 2"
# 在这里添加执行 Option 2 的命令
;;
"Option 3")
echo "You chose Option 3"
# 在这里添加执行 Option 3 的命令
;;
"Quit")
echo "Exiting..."
break # 选择 Quit 时退出循环
;;
*)
echo "Invalid option"
;;
esac
done
循环结构
for循环用法:用于遍历列表或者范围内的值。
for item in list; do
# 对每个项执行的命令
done
# 示例
# 遍历数组并输出每个元素
fruits=("apple" "banana" "cherry")
for fruit in "${fruits[@]}"; do
echo "Fruit: $fruit"
done
while循环用法:在条件成立时重复执行命令。
while [ condition ]; do
# 循环体中的命令
done
# 示例
# 循环直到变量达到特定值
count=1
while [ $count -le 5 ]; do
echo "Count: $count"
((count++))
done
until循环用法:在条件为假时执行循环体。
until [ condition ]; do
# 循环体中的命令
done
# 示例
#!/bin/bash
answer=""
until [ "$answer" = "y" ]; do
echo "Do you want to quit? (y/n)"
read answer
done
echo "Exiting the script"
跳出循环:break 和 continue
break
:跳出当前循环。continue
:跳过当前循环中的剩余命令,继续下一次循环。
for i in {1..5}
do
if [ $i -eq 3 ]; then
break # 当 i 等于 3 时跳出循环
fi
echo "Iteration: $i"
done