Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/variables/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
bash猫删除字符_Bash_Variables_Variable Assignment_Cat - Fatal编程技术网

bash猫删除字符

bash猫删除字符,bash,variables,variable-assignment,cat,Bash,Variables,Variable Assignment,Cat,我试图在不删除任何字符的情况下将整个文件读入变量。我相信这一定很简单 这不起作用,因为它会删除重复的空格、所有选项卡和换行符: $ echo 'fred wilma' > somefile; z=$(cat somefile); echo $z fred wilma 我可以看到同样的过滤发生在这样的简单分配中: $ z='fred wilma'; echo $z fred wilma 但当我这样做的时候: $ echo 'fr

我试图在不删除任何字符的情况下将整个文件读入变量。我相信这一定很简单

这不起作用,因为它会删除重复的空格、所有选项卡和换行符:

$ 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”

我想出来了:

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

我无法复制这个问题。你能提供一些关于bash安装的信息吗?仅供参考,也已检查过,它的工作方式与你在zsh中期望的一样。
z=“fred wilma”;echo“$z”
似乎可以工作。。。但是,要使
$(cat somefile)
正常工作是非常困难的problematic@gordon-完全按照Ubuntu 10.10echo上bash中的描述执行“$z”,而不是echo$z。我现在记得bash有17个不同级别的命令解析参数,echo是一个命令。如果我几个月没有使用bash,它有时会让我感到困惑。这是因为它被解释为
echo fred wilma
(哈哈,谢谢stackoverflow…),这是因为它被解释为
echo fred\uuuuuuuuuuuuuuuuuwilma
echo 'fred               wilma' > somefile; z=$(cat somefile); echo "$z"