前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >shell变量和数组

shell变量和数组

作者头像
公众号-利志分享
发布2022-04-25 08:35:49
4950
发布2022-04-25 08:35:49
举报
文章被收录于专栏:利志分享

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

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2017-11-02,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 利志分享 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档