利用user_default模块自定义Erlang Shell下令
利用user_default模块自定义Erlang Shell命令
在erlang开发过程中,shell是一个强大的工具,它提供了很多简短的命令来完成各种各样的任务。在shell中输入:
就能看到它提供的所有命令。实际上,我们可以自己扩展shell的命令来完成一些日常的任务,以提高开发的效率。
首先,需要新建一个user_default.erl文件并编译得到user_default.beam,内容如下:
这个模块提供了一个r()函数,用于编译目录下的erlang文件,并加载到当前的所有节点。
然后,在自己的HOME目录下建立.erlang文件,这个文件在erlang虚拟机启动的时候自动加载一些用户自定义的命令。在.erlang文件中加入一行,把刚才建立的user_default模块加载进来,注意这里的模块名不带后缀。
接下来就可以直接在erlang shell中使用r().命令来编译并载入修改的模块了。
在erlang开发过程中,shell是一个强大的工具,它提供了很多简短的命令来完成各种各样的任务。在shell中输入:
help().
就能看到它提供的所有命令。实际上,我们可以自己扩展shell的命令来完成一些日常的任务,以提高开发的效率。
首先,需要新建一个user_default.erl文件并编译得到user_default.beam,内容如下:
-module(user_default). -author('wudeng256 at gmail.com'). -export([help/0, r/0]). help()-> shell_default:help(), format("** user extended commands **~n"), format("r() -- compile and load all modified modules on all nodes\n"). r()-> make:all([netload]).
这个模块提供了一个r()函数,用于编译目录下的erlang文件,并加载到当前的所有节点。
然后,在自己的HOME目录下建立.erlang文件,这个文件在erlang虚拟机启动的时候自动加载一些用户自定义的命令。在.erlang文件中加入一行,把刚才建立的user_default模块加载进来,注意这里的模块名不带后缀。
code:load_abs("path/to/your/file/user_default").
接下来就可以直接在erlang shell中使用r().命令来编译并载入修改的模块了。