假设我有一个文件 file.txt ,其中包含数据(例如'100')。我想将此文件的内容读取到变量以供将来处理。我希望这适用于Linux和Solaris。我怎么能这样做?
答案 0 :(得分:8)
试试这一行:
VAR=$(cat file.txt)
或
VAR=$(head -1 file.txt)
编辑1:
使用Unix命令的输出来设置变量
关于shell脚本的最好的一点是,使用任何Unix命令生成输出并使用它来设置变量非常容易。
在这个例子中,我正在运行一个date命令并将其输出保存为我的变量的值:
#!/bin/sh
#
STARTED=`date`
sleep 5
FINISHED=`date`
#
echo "Script start time: $STARTED"
echo "Script finish time: $FINISHED"
如果我运行这个简单的脚本,我会看到以下内容:
ubuntu$ /tmp/1.sh
Script start time: Wed May 7 04:56:51 CDT 2008
Script finish time: Wed May 7 04:56:56 CDT 2008
实际上,任何情况都可以使用相同的方法。
所以mvp的答案适用于任何unix shell:
F=`cat file.txt`
尝试使用反引号`
而不是'
单个qoute
答案 1 :(得分:4)
这应该有效:
VAR=`cat file.txt`
如果您只想获得第一行文件,请使用:
VAR=`head -1 file.txt`
答案 2 :(得分:3)
您是否尝试过以下
VAR=$(<file)
当我需要在两行文件中将第二行存储为bash中的变量时,它才起作用。