#!/bin/bash
# 执行
for file in `ls /etc`
或
for file in $(ls /etc)
2、变量
# 变量赋值和引用
your_name="qinjx"
echo $your_name
echo ${your_name}
# 只读变量
myUrl="https://www.google.com"
readonly myUrl
3、字符串
# 字符串起始为0
# 获取字符串长度
string="abcd"
echo ${#string} # 输出 4
echo ${#string[0]} # 输出 4
# 提取子字符串:di第二个字符开始截取4个
string="runoob is a great site"
echo ${string:1:4} # 输出 unoo
4、语法
判断
在Linux中,常见的判断(条件判断)运算符有:
-eq:测试两个整数是否相等。
-ne:测试两个整数是否不等。
-gt:测试一个数是否大于另一个数。
-lt:测试一个数是否小于另一个数。
-ge:测试一个数是否大于或等于另一个数。
-le:测试一个数是否小于或等于另一个数。
此外,还有逻辑操作符如 -a(逻辑与)、-o(逻辑或)和 !(逻辑否),可用于更复杂的条件判断。
# 1、if 判断结构
# 双分支
if condition
then
# 执行条件为真时的操作
else
# 执行条件为假时的操作
fi
# 2、判断字符串是否为空
if [ -z "$string" ]
then
echo "字符串为空"
else
echo "字符串不为空"
fi
# if 单分支
if check_condition; then
# 在这里执行条件1满足时的操作
fi
# 多分支
if <条件表达式1>
then
"代码1"
elif <条件表达式2>
then
"代码2"
else
"代码3"
fi
循环
# for循环
for i in {1..5}
do
echo $i
done
# while循环
i=1
while [ $i -le 5 ]
do
echo $i
i=$((i+1))
done
# until循环
i=1
until [ $i -gt 5 ]
do
echo $i
i=$((i+1))
done
# 会输出数字1到5,每次循环输出一个数字并将变量i加1。与while循环不同的是,until循环会一直执行直到条件不满足为止
# case语句
case 表达式 in
模式1)
执行的代码块1
;;
模式2)
执行的代码块2
;;
...
模式n)
执行的代码块n
;;
esac