BASH阵列副本

2020年4月26日 36点热度 0条评论 来源: Dmitriy Pushkarev

我是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")' 
    原文作者:Dmitriy Pushkarev
    原文地址: https://stackoverflow.com/q/35377685
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系管理员进行删除。