我注意到当你在Emacs eshell中要求不输出换行符时,比如使用
例如,在Bash中:
原因是添加了额外的一个字节:
来自Bash:
我对这个发现有点困惑:添加了一个不应该存在的“换行符”(ASCII控制码为“0a”),而“-n”选项传递给echo不应该添加换行符。
需要什么样的elisp配置魔法,使Emacs的eshell在将echo的输出导入其他命令之前不添加换行符?
P.S:Debian Linux上的Emacs 24.3.50.1。
echo
命令,它仍会添加换行符。例如,在Bash中:
$ echo -n "a" | sha1sum
86f7e437faa5a7fce15d1ddcb9eaeaea377667b8 -
从Emacs的eshell:
$ echo -n "a" | sha1sum
3f786850e387550fdab836ed7e6dc881de23001b -
原因是添加了额外的一个字节:
来自Bash:
$ echo -n "a" | wc -c
1
来自eshell:
$ echo -n "a" | wc -c
2
使用hexdump命令,以下是输出结果:
$ echo -n "a" | hexdump -C
00000000 61 0a |a.|
我对这个发现有点困惑:添加了一个不应该存在的“换行符”(ASCII控制码为“0a”),而“-n”选项传递给echo不应该添加换行符。
需要什么样的elisp配置魔法,使Emacs的eshell在将echo的输出导入其他命令之前不添加换行符?
P.S:Debian Linux上的Emacs 24.3.50.1。