• 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏吧

BASH阵列副本

arrays 来源:Dmitriy Pushkarev 6次浏览

我是BASH新手。BASH阵列副本

我有字符串名称数组,但我需要一套数组作为数组,而这个数组作为数组必须包括阵列由\n(新线)分割的字符串,字符串的部分

这是我有:

ARRAY=$'one\ntwo'; 
x=$ARRAY; 
IFS=$'\n' read -rd '' -a y <<<"$x"; 
y=(${x//$'\n'/}); 
IFS=$'\n' y=(${x//$'\n'/ }); 
IFS=$'\n' y=($x); 
unset ARRAY; (i try unset ARRAY) 
ARRAY=$y; (this not works correctrly) 
echo ${ARRAY[1]}; //result ARRAY[0]="one",ARRAY[1]="" 

但如果我尝试echo ${y[1]}; //一切都是正确的Y [0] = “一个” Y [1] = “两节”

我的问题是,我不能设置数组作为y阵列的复制..


===========解决方案如下:

ARRAY=$'one one one\ntwo' 
OLD_IFS="$IFS" 
IFS=$'\n' ARRAY=($ARRAY) 
IFS="$OLD_IFS" 
declare -p ARRAY 

输出:

 
declare -a ARRAY='([0]="one one one" [1]="two")' 

版权声明:本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。
喜欢 (0)