假设我有以下文件:阅读整个文件变量,保持逃脱完整字符
hello\nworld
也就是说,字符串\n
是在文件中逐字:
$ cat input.txt
hello\nworld
我想阅读这个文件,就像它在shell中的变量一样。然而,从文件中读取数据,像所有常见的方法描述here,使外壳解释\n
序列作为新行:
% test="$(<input.txt)"
% echo "$test"
hello
world
% test="$(cat input.txt)"
% echo "$test"
hello
world
这是完全出乎意料的给我,坦白说,我很困惑的是我无法在互联网上找到这个问题的答案;我预计有人已经绊倒了这个问题。
我还看到,如果在逐行读取文件时使用read -r
,它可以工作,但我不想逐行读取它,我想读取整个文件。具体而言,我希望test
变量在字面上包含字符串“hello \ nworld”。我该怎么做?
你的'echo'别名可能是'echo -e'吗? – gudok
@gudok不,不是。 –
'type echo'和'which echo'告诉了什么? – Leon