c语言sscanf函数的用法是什么
287
2022-11-04
shell函数数组
数组定义方法
(30 20 10 60 50 40)0 1 2 3 4 5
方法一:
数组名= (value0 value1 value2 .. .) ==元素值之间要有空格==
方法二:
方法三:
方法四:
数组包括的数据类型
数组切片arr=(1 2 3 4 5)echo ${arr[@] }#输出整个数组echo ${arr[@] :0:2}#获取${数组名[@或] :起始位置:长度}的值
数组替换arr=(1 2 3 4 5)echo ${arr[@]/4/66}br/>#${数组名[@或*]/查找字符/替换字符}echo ${arr[@] } .br/>#并不会替换数组原有内容arr=(${arr[@]/4/66})#要实现改变原有数组,可通过重新赋值实现echo ${arr[@]}
数组删除arr=(12345)unset arr .#删除数组echo ${arr[] }arr=(12345)unset arr[2]
删除第三个元素echo ${arr[*] }
向函数传数组参数
函数外函数名${数组名[@] }
使用${数组名[@]} 获取数组的列表,再用这个列表作为参数给函数传递
函数内使用$@接收参数列表,再用数组名=($@) 在函数内生成一个的数组
如果将数组变量作为函数参数,函数只会取数组变量的第一个值。test1 () {echo "接收到的参数列表: $@"newarrary=($1)echo "新数组的值为: $ {newarrary[ * ] }"}
test2 () {
newarrary= ($ (echo $@))echo "新数组的值为: $ {newarrary[*] }"
}
从函数返回数组test2 () {newarrary=('echo $@")sum=0for value in $ {newarrary[*]}dosum=$[$sum + $value]doneecho $ sum
{
newarrary[$i]=$[$ {newarrary[$i]} 2]}echo $ {newarrary[ ]}}array=(3 2 1 4 5)echo "原始数组的值为: ${array[ ] }"result1=` test2 ${array[ ] } `echo "新数组的和为: $result1"
result2=(test3 ${array[ * ]})echo "新数组的值为: ${result2[ * ] }"
版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。
发表评论
暂时没有评论,来抢沙发吧~