exec
exec 函数族的作用是执行参数所指定的可执行文件或脚本。这个函数会替换掉当前进
程的内存镜像,也就是执行这个函数成功后,调用该函数的程序就不存在了,像是移
花接木一样。Linux下的的 exec 并不是一个函数,而是一族函数,一共有如下几个函
数,原型为:
今天在写一个头文件的时候想要插入当前文件的文件名,因为我用的是Spacemacs
的
配置,没有现成的插入文件名的快捷方式(或者我不知道?),于是就想自己写一个。
代码如下:
记录一些 Emacs(Spacemacs) 的使用技巧。
在使用 Spacemacs 时突然发现一个问题,在快速地按下 fd
两个键时会退出到
"normal state", fd
又是比较常用的一个组合,在写文件操作的代码时经常能遇到,
网卡搜索之后发现了原来是这个 package 搞的鬼,于是禁用之。当然你也可以根据文
档说明更改组合键。
原文地址:Bash process substitution
对于像diff
这样可以接收多个文件作为参数的命令来说,如果能既可以接收文件作
为参数,又能接收其他命令的输出作为参数就再好不过了。举例来说,如果你想用命
令diff -u
来比较ps
与ps -e
的输出结果,一个简单的方法把它们的输出存入文
件,再分别比较:
问题起源于在一次操作中,我想要搜索某个命令的输出内容,但并不是很确定要搜索
什么,只是有一个模糊的概念,而且命令的输出内容不少,所以要进行多次尝试。
刚开始想到要用 grep
来做,但是每次尝试搜索新的字符串,都要重新执行命令。虽
然重新执行命令可以通过命令历史,但还是不太喜欢,更何况grep
的输出并不直观,
有时还需要查看上下文,太不灵活。想到自己对vim
的操作和正则表达式都更熟悉,
就想把命令的输出导入到vim
里,然后再进行操作。可是怎么才能做到呢?
最近在使用 github 时碰到一些小问题,在这时记录一下。
一直对函数式编程比较好奇,以前也看过The Little Schemer,但是书中的代码并不适合
尝试,因此虽然看了一遍,对代码却并没有什么感觉。后来了解到了 clojure 这门语言,
就在图书馆借了一本Living Clojure来学习,书最后有一些稍微完整一些的练习题目(就
是每个题目是一个单独的工程),就拿来练习。在 fork 了作者提到的 repo 后就先做了一
个 alphabet-cipher,因为使用 git 经验太少,所以直接就在 master 分支上进行修改,
后来想要在作者的原 repo 里加入自己的解法链接的时候遇到了一些麻烦。