shell变量和数组知识讲解

字号+ 编辑: 种花家 修订: 科学鼠辈 来源: 利志分享 2023-09-05 我要说两句(0)

360前技术总监曾哥讲解shell命令当中有关变量和数组的基础知识。

相关的代码解释在注释中。

代码如下:

#!/bin/bash
#
# shell定义变量是 变量名="xxx" 这样定义
# 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程语言都不一样。
# 1.首个字符必须为字母(a-z,A-Z)。
# 中间不能有空格,可以使用下划线(_)。
# 不能使用标点符号。
# 不能使用bash里的关键字(可用help命令查看保留关键字)。
# 使用变量
test="ceshi"
# 使用变量,加上美元符号$
echo $test
# 或者 如下
echo ${test}
# 除了显式地直接赋值,还可以用语句给变量赋值,如:
echo `ls /etc`
# 字符串
# 字符串可以用单引号,也可以用双引号,也可以不用引号。单双引号的区别跟PHP类似。
# 字符串拼接:直接用空格或者不加空格直接贴后面也行
teststr="zengzhihai"
addteststr1="hello $teststr"
addteststr2="hello$teststr"
echo $addteststr1
echo $addteststr2
# 获取字符串长度
echo ${#teststr}
# 截取字符串 ${str:n:m} 提取字符串从n开始,截取m个
echo ${teststr:1:5}
# 查找字符串 expr index str search 是否能够查找到search字符串
echo `expr index $teststr zhi`
echo `expr index $teststr mm`
# 设置了teststr 下面不能再重新定义,也不能删除
readonly teststr
# 删除teststr (这里对readonly的设置的不能删除)
unset teststr
echo $teststr
# 定义数组:用括号来表示数组,数组元素用"空格"符号分割开。定义数组的一般形式为:数组名=(值1 值2 ... 值n)
# bash支持一维数组(不支持多维数组),并且没有限定数组的大小
# 定义数组
testarr=("value1" "value22" "value333")
# 直接echo 默认输出第一个数组的值
echo $testarr
#遍历数组
for v in ${testarr[@]}; do
echo $v;
done
# 读取数组元素之的格式:${数组名[下标]}
# 打印所有元素 echo ${array_name[@]}
echo ${testarr[@]}
# 获取数组元素的个数,下面是两种方式
length=${#testarr[@]}
echo $length
length1=${#testarr[*]}
echo $length1
# 获取单个元素个数的长度 ${#arr[n]}
lengthnn=${#testarr[2]}
echo $lengthnn
# 数组的模式替换 ${数组名[@或*]/模式/新值}
tmparr=${testarr[@]/value/my}
echo $tmparr


阅完此文,您的感想如何?
  • 有用

    0

  • 没用

    0

  • 开心

    0

  • 愤怒

    0

  • 可怜

    0

1.如文章侵犯了您的版权,请发邮件通知本站,该文章将在24小时内删除;
2.本站标注原创的文章,转发时烦请注明来源;
3.交流群: PHP+JS聊天群

相关课文
  • Linux系统下word文档转成pdf的办法

  • ubuntu和debian安装nginx或者tengine报错, 找不到pcre依赖库的解决办法

  • linux终端下借助awk命令查询筛出网站access.log日志里的统计信息

  • 常见的web中间件请求返回状态码

我要说说
网上宾友点评