小编典典

如何将文件读入shell中的变量?

all

我想读取一个文件并将其保存在变量中,但我需要保留变量而不仅仅是打印出文件。我怎样才能做到这一点?我已经编写了这个脚本,但它并不是我所需要的:

#!/bin/sh
while read LINE  
do  
  echo $LINE  
done <$1  
echo 11111-----------  
echo $LINE

在我的脚本中,我可以将文件名作为参数,因此,如果文件包含“aaaa”,例如,它会打印出:

aaaa
11111-----

但这只是将文件打印到屏幕上,我想将其保存到变量中!是否有捷径可寻?


阅读 212

收藏
2022-03-04

共1个答案

小编典典

在跨平台、最低公分母中sh,您使用:

#!/bin/sh
value=`cat config.txt`
echo "$value"

bashzsh中,将整个文件读入变量而不调用cat

#!/bin/bash
value=$(<config.txt)
echo "$value"

调用或slurp 文件将被视为对 Cat
cat无用使用bash``zsh

请注意,不必引用命令替换来保留换行符。

请参阅:Bash Hacker 的 Wiki - 命令替换 - 专长

2022-03-04