1、获取数组name的长度
命令:echo ${#name[@]}
结果:
2、获取数组sc的长度
命令:echo ${#sc[*]}
结果:
3、获取数组元素sc[3]长度
命令:echo ${#sc[3]}
结果:
4、获取数组name自下标1起的连续三个元素值
命令:echo ${name[@]:1:3}
结果:
5、显示name数组元素name[3]自下标1起的连续4个字符
命令:echo ${name[3]:1:4}
结果:
6、连接数组name和sc,将结果赋给ab
命令:ab=(${name[@]}${sc[@]})
结果:
7、将数组ab2中的元素值abc替换为os,并将替换后的数组赋给ab2
命令:ab2=(${ab2[@]/abc/os})
结果:
8、建立文件Namespace1.sh,内容为:
#!/bin/bash
v1=100
echo v1 in $0:$v1
运行:. ./Namespace1.sh
结果:
9、建立文件Namespace3.sh,其内容为:
#!/bin/bash
function ch_var(){
echo 在函数中修改前v1的值:$v1
v1=200
}
v1=100
echo 调用函数ch_var前v1的值:$v1
ch_var
echo 调用函数ch_var后v1的值:$v1
运行:. ./Namespace3.sh
结果:
10、建立文件Namespace4.sh,其内容为:
#!/bin/bash
function ch_var(){
v2=200 #v2默认是global类型
}
echo 尚未调用函数时v2的值:$v2
ch_var
echo 调用函数ch_var后v2的值:$v2
运行:
unset v2
. ./Namespace4.sh
结果:
11、建立文件Namespace5.sh:
#!/bin/bash
function ch_var(){
local v3=200 #v3定义为local类型
echo 在函数中执行时v3的值:$v3
}
echo 尚未调用函数时v3的值:$v3
ch_var
echo 调用函数ch_var后v3的值:$v3
运行:
. ./Namespace5.sh
结果:
12、建立文件Namespace6.sh:
#!/bin/bash
sfunc()
{
echo "参数: $@"
}
sfunc 1 3 a b
echo 输出脚本命令行参数:$@
运行:
. ./Namespace6.sh p1 23 p3 4a
结果:
13、建立文件Namespace7.sh:
#!/bin/bash
sfunc()
{
echo 在函数中输出全局变量v4的值: $v4 #行1
local v4=200abc #行2
echo 在函数中输出局部变量v4的值: $v4 #行3
}
v4=100 #行4
sfunc
echo 在函数外输出全局变量v4的值: $v4 #行5
运行:
. ./Namespace7.sh
结果: