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