这可能会被标记为重复,但在阅读了几篇帖子之后,我仍然无法使我的bash脚本正常工作。
我有一个包含多行的文本文件;每行只有1个字符串。我想将内容导入bash变量,例如每行是一个单独的元素。
因此,作为示例,如果MYVAR
是提到的变量,我希望能够按其位置访问任何元素,例如:
for i in $(seq 0 2)
do
echo ${MYVAR[$i]}
done
上面只是一个例子;我不需要for循环,这就是为什么我没有使用while read LINE
策略。
我尝试了几种方法,但文件仍然被导入为1长字符串,其中包含整个内容。希望我的目的很明确,我感谢任何帮助。
答案 0 :(得分:1)
仅将IFS更改为换行符,并使用():
将文件读入数组OFS=$IFS
IFS=$'\n'
MYVAR=($(<myfilename.txt))
for i in $(seq 0 2)
do
echo ${MYVAR[$i]}
done
# setup the IFS to its original value
IFS=$OFS