添加 Bash 自定义命令php
做者:JasinYip 时间:December 15, 2014 分类:Linux
今天看一个视频教程,看到视频中的老师用 subl . 命令,来用 Sublime Text 打开当前目录,还有用 Chrome index.html 命令,来用 Chrome 打开 index.html,真是酷炫!一开始没查到资料,上 Segmentfault 提问,别人给了个关键词 alias,自行查了下资料,将这酷炫的方法实现了。html
alias 命令web
alias 命令简单来讲,就是将一些复杂繁琐的命令,简化成自定义的命令。语法以下:chrome
查看当前的自定义命令列表
添加一条自定义命令:alias {自定义指令名}='{具体指令}'
删除一条自定义命令:unalias {自定义指令名}
举个例子:
在 Bash 中清屏的命令是 clear,若是我想用 clr 去代替,那么我就写 alias clr='clear'。
这时用 alias 能够看到刚才添加的自定义命令 clr='clear'。
执行 clr,成功清屏了,意味着命令执行成功。shell
输入参数vim
若是光光是去代替固定的命令,那就没什么意思啦,不过咱们能够引入参数:bash
$@ 表示一个参数,命令中能够添加多个 $@,使用时按顺序输入。
实现 subl、chrome 命令ui
我使用的是 Windows 系统,Sublime Text 的路径是 G:\Program Files\Sublime Text 2\sublime_text.exe.net
输入命令:alias sulb='"\G\Program Files\Sublime Text 2\sublime_text.exe" $@'命令行
如今,咱们可使用 sulb . 来打开当前目录了!
固然,chrome 命令同理。
实现 web 命令,用以 localhost 打开指定文件(或目录)
因为使用 php 较多,因此常常会使用到 http://localhost/来打开 php 文件。这个时候上面的 chrome 就不能愉快地使用了。
因为 php 文件夹是固定的,我将全部项目都存放在这个 php 的目录中,路径是 E:\www\,因此若是我要执行 E:\www\hello\index.php 的话,访问地址应该为 http://localhost/hello/index.php。
访问地址与实际目录的区别就是 hello 前面那一个字符串,将之替换就好。
不过我使用的是另外的一个更简单方法,那就是先获取当前目录名,而后在前面添加 http://localhost 就好。
咱们会用到 $PWD 来获取当前路径,以及用 Shell 的字符串截取指令(相关资料:Linux shell脚本的字符串截取)来得到最后一个 / 以后的字符串。
因而咱们获得这样的一个东西:${PWD##*www/}
最后,使用 alias 命令:
alias web='"F:\Program Files\Chrome\Application\chrome.exe" "http://localhost/${PWD##*/}/$@"'
如今来使用 web 命令,就能够打开当前的目录所对应的访问地址了,若是后面添加参数的话,就能够打开指定的文件了~
重启后继续使用的方法
实际上,直接在命令行里使用 alias,仅仅能够应用于当前的会话,为了下次启动时不须要从新再写,咱们应该把它写到 ~/.bashrc 里。
vim简单操做看这篇
使用 vim 打开 .bashrc 1 vim ~/.bashrc 直接在里面添加你须要的 alias 命令,好比 alias hi='echo hi' 保存,完成~ 新技能 get 吧?哈哈