我想用Emacs Lisp编写几个Unix脚本,但貌似没有一种简洁的方法可以输出到标准输出,以便将结果重定向到文件或管道传输到另一个命令。 print函数会在输出字符串周围添加双引号,因此我得到的是"Hello world!"而不是Hello world!。
以下是Emacs脚本:
#!/usr/bin/emacs --script ;; ;; 从Unix shell中运行我: ./hello.el > x.txt ;; (message "Hello world! 我正在将内容写入 STDERR。") (print "Hello world! 我正在将内容写入 STDOUT 但加上了引号") (insert "Hello world! 我正在将内容写入 Emacs buffer") (write-file "y.txt")
这是我希望如何调用它。
hello.el > x.txt hello.el | wc