添加 Bash 自定義命令

今天看一個視頻教程,看到視頻中的老師用 subl . 命令,來用 Sublime Text 打開當前目錄,還有用 Chrome index.html 命令,來用 Chrome 打開 index.html,真是酷炫!一開始沒查到資料,上 Segmentfault 提問,別人給了個關鍵詞 alias,自行查了下資料,將這酷炫的方法實現了。php

alias 命令

alias 命令簡單來講,就是將一些複雜繁瑣的命令,簡化成自定義的命令。語法以下:html

  • 查看當前的自定義命令列表
  • 添加一條自定義命令:alias {自定義指令名}='{具體指令}'
  • 刪除一條自定義命令:unalias {自定義指令名}

舉個例子:
在 Bash 中清屏的命令是 clear,若是我想用 clr 去代替,那麼我就寫 alias clr='clear'
這時用 alias 能夠看到剛纔添加的自定義命令 clr='clear'
執行 clr,成功清屏了,意味着命令執行成功。web

輸入參數

若是光光是去代替固定的命令,那就沒什麼意思啦,不過咱們能夠引入參數:chrome

  • $@ 表示一個參數,命令中能夠添加多個 $@,使用時按順序輸入。

實現 subl、chrome 命令

我使用的是 Windows 系統,Sublime Text 的路徑是 G:\Program Files\Sublime Text 2\sublime_text.exeshell

輸入命令:alias sulb='"\G\Program Files\Sublime Text 2\sublime_text.exe" $@vim

如今,咱們可使用 sulb . 來打開當前目錄了!bash

固然,chrome 命令同理。命令行

實現 web 命令,用以 localhost 打開指定文件(或目錄)

因爲使用 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
  1. 直接在裏面添加你須要的 alias 命令,好比 alias hi='echo hi'
  2. 保存,完成~

新技能 get 吧?哈哈

相關文章
相關標籤/搜索