shell字符串处理,解决传入参数有空格的问题

网友投稿 843 2022-11-23

shell字符串处理,解决传入参数有空格的问题

shell字符串处理,解决传入参数有空格的问题

一、以下划线作为分隔符,把元素存入数组,并遍历数组

​​脚本内容​​

#!/bin/basharr=a_b_carray=(${arr//_/ }) #把'_'替换为空,并从此处分隔for((i=0;i<${#array[@]};i++))do echo ${array[i]}done

​​输出结果​​

二、当待处理的字符串中出现空格时会出问题

​​修改arr的值​​

​​修改脚本,解决问题​​

#!/bin/basharr="name1,image:tag,docker run --name t1 image_name2,image:tag,docker run --name t2 image"IFS_OLD=$IFS #保存初始的值IFS=$'_' #以下划线作为分隔符array=(${arr}) #由于修改了分隔符为'_',这里会以'_'为分隔,把分隔开的元素存入数组for((i=0;i<${#array[@]};i++))do echo ${array[i]}doneIFS=${IFS_OLD} #恢复初始值[一定要写]

​​执行结果​​

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:shell多进程并发导入docker镜像
下一篇:k8s之pod详解
相关文章

 发表评论

暂时没有评论,来抢沙发吧~