Arrays 如何在bash脚本中将文件中的总行数分配给数组的size变量?
我已经试着让这样的东西工作了一段时间了,但是我一直遇到一些小的不完美,把我的阵列建设搞得一团糟 #!/bin/bash 此回购文件共有四行Arrays 如何在bash脚本中将文件中的总行数分配给数组的size变量?,arrays,bash,wc,Arrays,Bash,Wc,我已经试着让这样的东西工作了一段时间了,但是我一直遇到一些小的不完美,把我的阵列建设搞得一团糟 #!/bin/bash 此回购文件共有四行 repofile=~/Home/Documents/repoKali 我把它输入命令行 wc-l
repofile=~/Home/Documents/repoKali
我把它输入命令行
wc-l<$repofile
我得到以下输出
六,
但是当我打这个的时候
SIZE=$(wc-l<“$repofile”)
我明白了
6:找不到命令
我正在尝试构建一个数组,该数组与$repoifile中的行数一样大。我不知道为什么这些命令在变量赋值之外工作,而在我将它们赋给SIZE时不工作。
我的意思是输出改变了!还是我错过了什么
请帮忙。我正试着做这样的事情
readarray-s$SIZE<$repofile
您不需要使用大小初始化bash数组,只需将值放入数组中即可
readarray的-s
选项不是“大小”,而是“跳过”:
选项:
-s count放弃读取的第一个计数行
在bash提示符中,键入help readarray
了解所有详细信息
此错误
6:command not found
向我表明,您在=号后面加了一个空格:变量赋值不允许有空格
SIZE= $(wc -l < "$repofile")
#....^
SIZE=$(wc-l<“$repofile”)
#....^
谢谢。谢谢你给我回电话。我只是浏览手册页就觉得很愚蠢。我回头看看,试试你的建议。让你知道事情的进展。再次感谢你,伙计。是的,这很有效。我做了readarray repolist<$repofile,然后echo${repolist[@]}我得到了我想要的输出。再次感谢!请记住始终引用数组扩展:“${repolist[@]}”
--