这可能会被标记为重复,但是在阅读了几篇帖子后,我仍然无法使我的bash脚本工作。我有一个多行的文本文件;每行只有 1 个字符串。我想将内容导入 bash 变量,例如每一行都是一个单独的元素。因此,例如,如果MYVAR
是提到的变量,我希望能够通过其位置访问任何元素,例如:
for i in $(seq 0 2)
do
echo ${MYVAR[$i]}
done
以上只是一个例子;我不需要 for 循环,这就是为什么我没有使用while read LINE
策略。我已经尝试了几种方法,但该文件一直作为包含整个内容的 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