PHP中高级工程师面试重点讲解视频课程
Go快速入门浅显易懂视频教程-基础篇
Go快速入门浅显易懂视频教程-中级篇
shell变量和数组
阅读:1326 分享次数:0

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

感觉本站内容不错,读后有收获?