【linux】shell脚本编写基础

发布于:2024-12-06 ⋅ 阅读:(104) ⋅ 点赞:(0)

shell 脚本关键字:

1、变量定义:=前后不能空格

输入:
zhao="Joe"
echo ${zhao}
echo "I am ${zhao}"
输出:
yuxin
I am Joe

2、echo 输出

输入:
echo "123"
输出:
123

3、readonly 定义变量为只读变量:先定义变量再定义只读变量

输入:
zhao="Joe"
echo "you are ${zhao}"
readonly zhao
zhao="Joe1"
echo "I am ${zhao}"
输出:
you are Joe
I am Joe
script.sh: line 5: zhao: readonly variable

4、删除变量

输入:
zhao="Joe"
unset zhao
echo ${zhao}
无输出

5、整型

declare -i num=1
typeset num=1

6、字符串

str='123'  #单引号中间不可以有变量,可以拼接  双引号可以有变量
echo ${#str}  # 读取字符串长度
echo ${str:1:2} # 提取子字符串
echo `expr index "$str" 32`               # 查找子字符3或2的位置

7、数组

array=(1 2 3 4 5)
array[0]=1 # 读取数组元素
array[@] # 读取所有数组元素
length = ${#array[@]}  # 数组元素个数
关联数组:
declare -A array  # -A 声明一个关联数组,绑定键值对
declare -A site
site["google"]="www.google.com"
site["runoob"]="www.runoob.com"
site["taobao"]="www.taobao.com"
${!site[*]}  # 获取所有的键
${site[*]}   # 获取所有的值

8、expr表达式工具
var=expr 2 + 2

9、test 检查某个条件是否成立

num1="ru1noob"
num2="runoob" 
if test $num1 = $num2
then
    echo '两个字符串相等!'
else
    echo '两个字符串不相等!'
fi

10、判断

f condition1
then
    command1
elif condition2 
then 
    command2
else
    commandN
fi

11、循环

for var in item1 item2 ... itemN
do
    command1
    command2
    ...
    commandN
done

while condition
do
    command
done

until condition
do
    command
done
casein
模式1)
    command1
    command2
    ...
    commandN
    ;;
模式2)
    command1
    command2
    ...
    commandN
    ;;
esac

网站公告

今日签到

点亮在社区的每一天
去签到