File Unix将文件内容输出到变量
我需要读取文本文件的内容,并将内容分配给脚本中可用的变量。我看到许多关于同一主题的问题,但我的脚本不起作用File Unix将文件内容输出到变量,file,variables,unix,File,Variables,Unix,我需要读取文本文件的内容,并将内容分配给脚本中可用的变量。我看到许多关于同一主题的问题,但我的脚本不起作用 export CONTENT_FROM_FILE="/home/me/test.sql" echo $CONTENT_FROM_FILE VAR=$(while IFS= read line;do echo "$line";done < "$CONTENT_FROM_FILE") echo $VAR export CONTENT\u FROM_FILE=“/home/me/test
export CONTENT_FROM_FILE="/home/me/test.sql"
echo $CONTENT_FROM_FILE
VAR=$(while IFS= read line;do echo "$line";done < "$CONTENT_FROM_FILE")
echo $VAR
export CONTENT\u FROM_FILE=“/home/me/test.sql”
从\u文件回显$CONTENT\u
VAR=$(而IFS=读取行;do echo“$line”;done<“$CONTENT\u FROM\u FILE”)
echo$VAR
这会产生错误“没有这样的文件或目录”。所以我做了以下几件事
VAR=$(while IFS= read line;do echo "$line";done < "/home/me/test.sql")
echo $VAR
VAR=$(而IFS=readline;do echo“$line”;done<“/home/me/test.sql”)
echo$VAR
在这种情况下,它可以读取文件,但echo$VAR只打印文件的一部分。如果您在
bash
中,可以实现同样的效果,避免使用cat
或冗余while循环
#!/bin/bash
myFileContent="$(<myFile)" # Sets "myFileContent" to contents of "myFile".
我正在运行一个脚本,读取此文件并将其打印到stdout
$ cat script.sh
#!/bin/bash
myfileContent="$(<file)"
echo "$myfileContent"
如果您使用的是
bash
,则可以实现同样的效果,并避免使用cat
或冗余while循环
#!/bin/bash
myFileContent="$(<myFile)" # Sets "myFileContent" to contents of "myFile".
我正在运行一个脚本,读取此文件并将其打印到stdout
$ cat script.sh
#!/bin/bash
myfileContent="$(<file)"
echo "$myfileContent"
简单的方法是
VAR=`cat myfile`
简单的方法是
VAR=`cat myfile`
真奇怪<即使没有
export
语句,文件中的code>CONTENT\u也应该可以工作,您的代码对我来说非常适合(也就是说,如果您打算在一行中读取整个文件)。你能举一个失败的文件的例子,以及你得到的输出吗?@learninghuman:请提供对所提供答案的反馈,以进一步帮助你。或者,如果它有助于解决你的问题,那么一定要接受/支持这个答案,因为它有助于其他人。这真的很奇怪<即使没有export
语句,文件中的code>CONTENT\u也应该可以工作,您的代码对我来说非常适合(也就是说,如果您打算在一行中读取整个文件)。你能举一个失败的文件的例子,以及你得到的输出吗?@learninghuman:请提供对所提供答案的反馈,以进一步帮助你。或者,如果它有助于解决你的问题,请接受/支持投票,因为它对其他人有帮助。