Shell编程-基础(一)

#!/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

【shell编程】父子shell和特殊变量

你可能感兴趣的:(linux,运维)