【发布时间】:2018-05-07 10:42:53
【问题描述】:
我正在编写一个 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 "$@"
该行包含单词之间的空格,如Hello World How Are You?。当我执行脚本并打印 array_statements 的内容时,输出是
Hello
World
How
Are
You?
如何将包含空格的变量值分配给另一个变量或将包含空格的变量传递给KSH中的另一个函数。
谢谢
【问题讨论】:
-
其实我用你贴的代码无法重现症状。
-
你在使用 KSH 吗?
-
当然,虽然它不是我喜欢的外壳。
-
哦,我想我知道出了什么问题。您可能错误地调用了
readFileIntoArray。你能告诉我们那部分代码吗?
标签: linux shell unix scripting ksh