Unix将文件内容输出到变量

时间:2016-09-14 08:33:15

标签: 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

这会出现错误“No such File or directory”。所以我做了以下,

VAR=$(while IFS= read line;do echo "$line";done < "/home/me/test.sql")
echo $VAR

在这种情况下,它能够读取文件但echo $ VAR仅打印文件的一部分。

2 个答案:

答案 0 :(得分:0)

如果您在bash,则可以command-substitution实现相同目标,避免使用cat或冗余while-loop

#!/bin/bash
myFileContent="$(<myFile)"  #  Sets "myFileContent" to contents of "myFile".

要查看此操作,请填写以下内容的示例文件: -

$ cat file
Hi This is a test file - First line
Hi This is a test file - Second line

Hi This is a test file - Third line 

我正在运行一个脚本来读取此文件并将其打印到stdout

$ cat script.sh
#!/bin/bash
myfileContent="$(<file)"

echo "$myfileContent"

运行脚本
$ ./script.sh
Hi This is a test file - First line
Hi This is a test file - Second line

Hi This is a test file - Third line

答案 1 :(得分:0)

Simpliesy方式是

  

VAR =`cat myfile`