我有一个包含“行”文本的文件,目前只有两行。我需要创建这些行的反向数组 - FIFO 样式。
以这种方式使用“readarray”效果很好:
readarray -t FileArray < "$PWD$DEBUG_DIR$DEBUG_MENU"
当我尝试“反转”文件时,我得到了乱码:
readarray -t FileArray < tac "$PWD$DEBUG_DIR$DEBUG_MENU"
我仍在学习替换,很明显我没有正确使用 tac 命令。我确实尝试了不同的“语法”但没有成功。
答案1
输入重定向(如cat < file
)意味着 shell 正在打开输入文件并将其内容写入另一个进程的标准输入。不可能只在 后面添加命令<
。
但你可以使用流程替代使用以下语法从命令的输出创建文件描述符:
<(some_command)
这类似于使用命令的输出(例如使用变量)$(some_command)
。
尝试这个:
readarray -t FileArray < <(tac "$PWD$DEBUG_DIR$DEBUG_MENU")