Linux 如何读取文件并将其重定向到变量?
我有一个写有单词的文件。我希望我的脚本将该单词放入变量中 我该怎么做Linux 如何读取文件并将其重定向到变量?,linux,shell,scripting,Linux,Shell,Scripting,我有一个写有单词的文件。我希望我的脚本将该单词放入变量中 我该怎么做 var="`cat /path/to/file`" 这是最简单的方法。注意文件中的换行符 var="`head -1 /path/to/file`" 这只会得到第一行,而且永远不会包含换行。以百万种方式 最简单的可能是 my_var=$(cat my_file) 如果您使用bash,并且希望变得更加敏捷,那么可以使用bash4的mapfile,它将整个文件放入一个数组变量中,每个单元格一行 mapfile my_var
var="`cat /path/to/file`"
这是最简单的方法。注意文件中的换行符
var="`head -1 /path/to/file`"
这只会得到第一行,而且永远不会包含换行。以百万种方式 最简单的可能是
my_var=$(cat my_file)
如果您使用bash,并且希望变得更加敏捷,那么可以使用bash4的mapfile,它将整个文件放入一个数组变量中,每个单元格一行
mapfile my_var < my_file
mapfile my\u var
我认为它会剥离新行,但无论如何,它是这样的:
variable=$(cat filename)
我认为最简单的方法是
$ myvar=`cat file`
最简单的方法可能是:
var=$(< file)
var=$(
这不会创建新进程。既然shell脚本中允许在
=
前后间隔是什么时候?@nightcracker抱歉,brainfart,我在看到您的评论之前已经更正了它。换行符将使第一部分尝试执行,但在命令未找到时失败错误使用var=$(cat文件| tr-d'\n')删除所有新行,包括任何尾随行ones@Jonathan不,它将有一个文件nammed“log”,并且$x=“`cat log`”
会导致=2:command not found
不需要导出变量,等号周围的空格将不起作用。它只会删除最后一行换行符。如果您似乎要删除其他换行符,那是因为您没有在输出中引用变量echo$variable
vs.echo“$variable”
这在Bash和其他高级shell中有效,但在Bourne shell中无效。不跨平台。。。不会在sh中工作看到2018年有人/任何东西仍然使用非bash sh吗?可能是Dick Tracy的手表??警告:在“此解决方案在linux上对‘endline’字符进行转换”之前没有空格。