【发布时间】:2021-02-11 08:04:55
【问题描述】:
为什么最后两个数组元素被截断?
我正在尝试从 bash 中的字符串生成一个数组,使用 \n 作为分层字符。使用命令替换和tr 我接近了我想要的,现在我得到了奇怪的输出。
下面的脚本文件
输入字符串:abcd\nefgh\nijkl\nmnop
#!/bin/bash
oper () {
local fct=$1
local s=$2
IFS='\n' read -ra sArr <<< "$s"
for item in ${sArr[@]}
do
printf " %s\n" $(echo $item | rev)
done
}
echo "original string: $2"
oper $1 $2
printf "mirror string: "
exit 0
这是输出
original string: abcd\nefgh\nijkl\nmnop
dcba
hgfe
lkji
m
po
【问题讨论】:
-
"delaminating" - 通常称为delimiter。
标签: arrays string bash split truncate