如何将包含空格的变量分配给 KSH 中的另一个变量

新泽西MR

我正在编写一个 shell 脚本来读取输入文件并逐行处理文件的内容。我计划将每一行存储到一个数组中,然后按如下所示处理该数组。

#--------------------------------
# Global Variable
file_path="NULL"
set -A array_statements
#--------------------------------
readFileIntoArray()
{
    while IFS= read -r line
    do
        echo "$line"
        array_statements[${#array_statements[*]}+1]="$line"
    done <"$file_path"
}
printTheArray()
{
    for i in ${array_statements[@]}; do 
        echo $i
    done
}
main()
{
    file_path=$1
    readFileIntoArray
    printTheArray
}
main "$@"

该行包含单词之间的空格 as Hello World How Are You?当我执行脚本并打印 array_statements 的内容时,输出是

Hello
World
How
Are
You?

如何将包含空格的变量值分配给另一个变量或将包含空格的变量传递给KSH.

谢谢

三人组

最简单的前进路线可能是废弃您当前的代码并对其进行重构。

array_statements=()
while read -r line; do
    array_statements+=("$line")
done <"$1"
printf "%s\n" "${array_statements[@]}"

由于代码简化了这么多,将任何内容封装在单独的函数中可能没有多大意义。

请特别注意缺少引号${array_statements[@]}如何将它们分解成一个快乐的疯狂字符串,从而丢失任何数组元素边界。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何将公式的值(包含变量)分配给另一个变量

如何将另一个文件中的变量分配给类常量?

如何将一个JavaScript文件中的变量分配给另一个JS File?

如何将变量列表分配给另一个列表

如何将Angular @Input值分配给另一个变量并填充到子代中?

如何将字符串和变量的组合分配给另一个变量?

如何将我的选择选项分配给另一个变量

将$ @分配给Shell函数中的另一个变量

在ksh中定义变量

Gatsby中的children变量是什么?如何将其分配给另一个组件?

ksh脚本中的变量分配

如何将对象分配给一个模块中的变量,然后从另一个模块访问该变量?

将struct的第一个变量分配给另一个

Python将值从一个变量分配给另一个

几个变量的结果可以分配给 Shiny 中的另一个变量吗?

给定两个字符串,如何将较短的字符串分配给一个变量,将较长的字符串分配给另一个变量

无法将结构变量分配给另一个结构变量

我可以将CSS变量分配给另一个变量吗?

C#将指向引用类型的变量分配给另一个变量,后者中存储了什么?

如何将变量分配给包含 php 中的 if 语句的 html 代码

当值中包含$字符时如何将值分配给变量

如何将包含 ` ` 的命令分配给 bash shell 脚本中的变量?

将malloc变量也分配给另一个变量后,应该如何释放它?(C语言)

python即使将输入变量分配给另一个变量,如何更改它的值?

Ksh复合变量引用

如何将BIML变量分配给BIMLScript变量?

如何将php变量分配给JS变量

如何将php变量分配给javascript变量

如何将列表中的项目分配给变量