我想读取一个文件并将其保存在变量中,但我需要保留变量而不仅仅是打印出文件。我怎样才能做到这一点?我已经编写了这个脚本,但它并不是我所需要的:
#!/bin/sh while read LINE do echo $LINE done <$1 echo 11111----------- echo $LINE
在我的脚本中,我可以将文件名作为参数,因此,如果文件包含“aaaa”,例如,它会打印出:
aaaa 11111-----
但这只是将文件打印到屏幕上,我想将其保存到变量中!是否有捷径可寻?
在跨平台、最低公分母中sh,您使用:
sh
#!/bin/sh value=`cat config.txt` echo "$value"
在bash或zsh中,将整个文件读入变量而不调用cat:
bash
zsh
cat
#!/bin/bash value=$(<config.txt) echo "$value"
调用或slurp 文件将被视为对 Cat 的cat无用使用。bash``zsh
bash``zsh
请注意,不必引用命令替换来保留换行符。
请参阅:Bash Hacker 的 Wiki - 命令替换 - 专长。