如何从bash参数读取文件

如何从bash参数读取文件,bash,ubuntu,Bash,Ubuntu,我正在尝试将文件读入数组wordsarr。 这项工作: myscript.sh mapfile -t wordsarr < words.txt 所以我把它改成如下:mapfile-t cussWordsUsecat: cat“$1”|映射文件-t 尝试执行echo${cussWords[@]}下一步。它没有输出任何东西。管道的右侧是一个子外壳。因此它不会将单词分配给主shell。在问题末尾添加了在线可运行文件请显示脚本的shebang并检查words.txt文件是否在当前目录中。然后看看

我正在尝试将文件读入数组
wordsarr
。 这项工作:

myscript.sh

mapfile -t wordsarr < words.txt
所以我把它改成如下:
mapfile-t cussWordsUse
cat

cat“$1”|映射文件-t

尝试执行
echo${cussWords[@]}
下一步。它没有输出任何东西。管道的右侧是一个子外壳。因此它不会将单词分配给主shell。在问题末尾添加了在线可运行文件请显示脚本的shebang并检查words.txt文件是否在当前目录中。然后看看如何使用
-xv
选项调试shell脚本。@LéaGris在问题
的末尾添加了在线可运行文件-t cussWords<“$1”
,只要您使用的是bash v4或更高版本(而不是其他shell)。“4r5e”看起来不像是个错误。我认为还有其他一些事情正在发生,但如果没有一个例子来说明这个问题,很难说是什么。
mapfile -t cussWords < $1
 >>./myscript.sh words.txt
 4r5e
./myscript.sh: line 1: $1: No such file or directory