13 用別名(alias)建立你自己的命令

2022-03-28 06:37:32 字數 1974 閱讀 1315

現在是時候,感受第一次程式設計經歷了!我們將用 alias 命令建立我們自己的命令。但在 開始之前,我們需要展示乙個命令列小技巧。可以把多個命令放在同一行上,命令之間 用」;」分開。它像這樣工作:

command1; command2; command3...

我們會用到下面的例子:

[me@linuxbox ~]$ cd /usr; ls; cd -

bin games kerberos lib64 local share tmp

...[me@linuxbox ~]$

正如我們看到的,我們在一行上聯合了三個命令。首先更改目錄到/usr,然後列出目錄 內容,最後回到原始目錄(用命令」cd ~」),結束在開始的地方。現在,通過 alia 命令 把這一串命令轉變為乙個命令。我們要做的第一件事就是為我們的新命令構想乙個名字。 比方說」test」。在使用」test」之前,查明是否」test」命令名已經存在系統中,是個很不錯 的主意。為了查清此事,可以使用 type 命令:

[me@linuxbox ~]$type test

test is a shell builtin

哦!」test」名字已經被使用了。試一下」foo」:

[me@linuxbox ~]$type foo

bash: type: foo: not found

太棒了!」foo」還沒被占用。建立命令別名:

[me@linuxbox ~]$ alias foo='cd /usr; ls; cd -'

注意命令結構:

alias name='string'

在命令」alias」之後,輸入「name」,緊接著(沒有空格)是乙個等號,等號之後是 一串用引號引起的字串,字串的內容要賦值給 name。我們定義了別名之後, 這個命令別名可以使用在任何地方。試一下:

[me@linuxbox ~]$ foo

bin games kerberos lib64 local share tmp

...[me@linuxbox ~]$

我們也可以使用 type 命令來檢視我們的別名:

[me@linuxbox ~]$type foo

foo is aliased to `cd /usr; ls ; cd -'

刪除別名,使用 unalias 命令,像這樣:

[me@linuxbox ~]$ unalias foo

[me@linuxbox ~]$type foo

bash: type: foo: not found

雖然我們有意避免使用已經存在的命令名來命名我們的別名,但這是常做的事情。通常, 會把乙個普遍用到的選項加到乙個經常使用的命令後面。例如,之前見到的 ls 命令,會 帶有色彩支援:

[me@linuxbox ~]$ type ls

ls is aliased to 'ls --color=tty'

要檢視所有定義在系統環境中的別名,使用不帶引數的 alias 命令。下面在 fedora 系統中 預設定義的別名。試著弄明白,它們是做什麼的:

[me@linuxbox ~]$ alias

alias l.='ls -d .* --color=tty'

...

在命令列中定義別名有點兒小問題。當你的 shell 會話結束時,它們會消失。隨後的章節裡, 我們會了解怎樣把自己的別名新增到檔案中去,每次我們登入系統,這些檔案會建立系統環境。 現在,好好享受我們剛經歷過的,步入 shell 程式設計世界的第一步吧,雖然微小。

alias 建立自己的命令

linux 命令列是大家使用頻率很高的工具,能方便的進行多種操作,但有時頻繁的目錄跳轉與檢視,使得工作有些繁瑣,甚至可能由於在不同的目錄間跳轉而打斷思路。linux 提供了簡便的自定義命令方法,可以使得多個常用的命令組合輕鬆的通過乙個簡單的自定義命令實現。使用方法 alias 自定義命令 原命令 多...

Python 用Django建立自己的部落格 2

開篇 python 用django建立自己的部落格 上 中主要記錄了專案的建立,專案的檔案結構,後台超級使用者的建立,資料庫的增添資料等,這篇部落格的主要是載入html靜態檔案和顯示之間的載入邏輯等。的顯示和邏輯處理 view.py 執行響應的邏輯 模組 專案中主要的 編輯區 複製 而templat...

建立你自己的依賴注入容器Ioc Container

最近研究了ioc,di 以及一些開源的框架,以下根據自己的理解寫乙個簡單的ioc容器。我們在使用乙個依賴注入容器時一般都是實現三步 建立乙個ioc容器 依賴關係注入,這裡需要一種collection物件儲存這種注入關係 根據依賴注入獲取物件的例項 好了,接下來我們可以按照測試驅動開發的模式完成乙個簡...