如何在zsh脚本中打印特殊的unicode字符
问题描述:
我想在两个文件没有不同时打印一个特殊的unicode字符。 我下面的代码产生一个错误说“-e:命令未找到”如何在zsh脚本中打印特殊的unicode字符
if [ -n "`diff file1 file2`" ]
then `echo -e "\u2713"`
fi
编辑:我使用ZSH
答
摆脱周围的回声反引号的。
if [ -n "`diff file1 file2`" ]
then echo -e "\u2713"
fi
另外,如果你只是想知道,如果这两个文件是相同的,从diff
或cmp
检查退出代码比如果他们有任何输出看到更高效。我建议cmp
,因为它只是在不计算补丁的情况下检测差异。
if ! cmp -s file1 file2; then
echo -e "\u2713"
fi
这产生输出“-e \ u2713”。我想要的是打印特殊字符(复选标记) – wginsberg
你的shell是什么?你确定它是bash?所有这些都对我有用:'echo -e“\ u2713''/'echo -e'\ u2713'' /'echo $'\ u2713''。奇怪的是'-e'会被打印出来,这表明你正在使用一些不支持'-e'的过时的shell或echo命令。公平地说,'echo -e'不是完全可移植的,但是如果你使用bash。 –
谢谢!我意识到我实际上有这个问题zsh – wginsberg