我想在 Emacs Lisp 中编写一些 Unix 脚本。但是,似乎没有一种干净的方法来写入 STDOUT,因此我可以将结果重定向到文件或将输出通过管道传输到另一个命令。这print函数在输出字符串周围放置双引号,所以我得到“你好世界!”代替你好世界!.
这是 emacs 脚本。
#!/usr/bin/emacs --script
;;
;; Run me from a Unix shell: ./hello.el > x.txt
;;
(message "Hello world! I'm writing to STDERR.")
(print "Hello world! I'm writing to STDOUT but I'm in quotes")
(insert "Hello world! I'm writing to an Emacs buffer")
(write-file "y.txt")
这就是我想如何称呼它。
hello.el > x.txt
hello.el | wc
看来你想要princ
代替print
。所以,基本上:
(princ "Hello world! I'm writing to STDOUT but I'm not in quotes!")
然而,有一点需要注意的是princ
不会自动终止输出\n
.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)