zsh 下 <<< 操作符引起的问题
最近在编写一个 shell 脚本,用到了 md5 生成一个字符串的 hash,我本打算使用 <<< 让语法精简。
# 原写法
$ echo -n "abc123" | md5
# <<< 操作符写法
$ md5 <<< "abc123"
看上去没什么问题,但是两条命令的结果完全不一样,最后实验发现,** <<< 操作符在 zsh 下会追加一个换行符**,也就是该写法应该等价于 echo -n "abc123\n" | md5 或者 echo "abc123" | md5。
Comments