我试图将整个文件读入一个变量而不删除任何字符。我相信这一定是愚蠢的简单。

这不起作用,因为它删除了重复空格、所有制表符和换行符:

$ echo 'fred               wilma' > somefile; z=$(cat somefile); echo $z
fred wilma

我可以看到相同的过滤发生在像这样的简单分配中:
$ z='fred                 wilma'; echo $z
fred wilma

但不是当我这样做时:
$ echo 'fred             wilma'
fred             wilma

如何让 bash 变量在赋值时停止解析和过滤?

最佳答案

使用 echo "$var" :

$ z='fred                 wilma'
$ echo "$z"
fred                 wilma

关于bash cat 删除字符,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5710570/

10-12 12:34