Linux上增加自定義腳本的展現(xiàn)量
前言
在一臺Linux機器上寫好一個腳本以后,希望這個腳本讓這臺機器上其他用戶使用,但是不可能會讓別人記住這個腳本的路徑,這個時候該怎么辦呢?
原理
在回答上面的問題之前,我們首先思考下面這個問題:為什么我們用的很多指令都不需要絕對路徑的文件名呢?
我以最常用的ls指令為例子。首先要查看指令的執(zhí)行文件位置:which ls。輸出的內容為:/bin/ls。
為什么ls指令就不需要以絕對路徑名就能調用呢?
這是因為環(huán)境變量PATH指定了默認的檢索路徑。那么要怎么去查看環(huán)境變量呢?
1. 輸出內置變量PATH:echo $PATH
2. 查看所有變量:env
但是有時候我們使用ll也能調用帶有參數(shù)的ls指令,但是使用which ll卻找不到執(zhí)行文件。這是使用了別名alias指令指定了指令的別名。
其實除此之外我們還可以在PATH的路徑中添加鏈接文件指向我們的指令。
由此可知,可以通過以下方式指定腳本的路徑:
1. 在PATH變量中添加腳本路徑
2. 使用alias指令設置別名
3. 在PATH中的路徑目錄中增加鏈接文件
實戰(zhàn)
準備自定義腳本
- 創(chuàng)建腳本文件:touch mysh.sh
- 編輯腳本文件(如果沒安裝vim可以改為用vi):vim mysh.sh
- 按Insert鍵進入編輯模式,文件內容如下:
#!/bin/bash
echo "Hello World!"
- 按Esc鍵退出編輯模式,輸入:wq保存并退出
- 授予腳本文件執(zhí)行權限:chmod +x mysh.sh
- 嘗試執(zhí)行腳本:./mysh.sh
修改環(huán)境變量PATH
- 修改profile文件:vim /etc/profile,在文件尾部添加以下內容:export PATH=$PATH:/root。內容中的/root可以替換為腳本所在的目錄。
- 使修改后的profile文件生效:soruce /etc/profile
- 檢查PATH修改是否生效:echo $PATH
- 嘗試執(zhí)行腳本:mysh.sh
設置別名
- 修改profile文件:vim /etc/profile,在文件尾部添加設置別名的內容,注意要使用全路徑名:alias mysh=/root/mysh.sh內容中的/root可以替換為腳本所在的目錄。
- 使修改后的profile文件生效:soruce /etc/profile
- 檢查增加別名是否生效:alias mysh
- 嘗試執(zhí)行腳本:mysh
使用鏈接文件
- 創(chuàng)建鏈接文件:ln -s /root/mysh.sh /usr/bin/mysh
- ln為創(chuàng)建鏈接文件的指令,-s參數(shù)為創(chuàng)建軟鏈接文件。/root/mysh.sh為目標文件,即需要創(chuàng)建軟鏈接的文件。/usr/bin/mysh為創(chuàng)建的軟鏈接文件。
- 通過軟鏈接文件名執(zhí)行腳本:mysh
題外話
有時候解壓一些工具,想嘗試運行的時候,不是全路徑名執(zhí)行,就是跳轉到執(zhí)行文件所在的目錄,然后./執(zhí)行文件名。
如果是懶得打./,可以在profile文件的底部添加以下內容:export PATH=$PATH:./。注意這段內容盡量保證在文件最后一行。
總結
在最后匯總以下使用到的指令和工具:
1. 查看文件信息:ls
2. 跳轉到某個目錄:cd
3. 輸出指令:echo
4. 文本編輯器:vim
5. 查看環(huán)境變量:env
6. 查看指令或者工具的執(zhí)行文件所在路徑:which
7. 別名指令:alias
8. 配置刷新:source
9. 文件授權:chmod
10. 設置環(huán)境變量:export
11. 創(chuàng)建鏈接文件:ln
相關文章
inotify-tools+rsync實時同步文件的配置方法
我使用的是google的inotify-tools,比較簡單.國內有功能很強大的類似的程序,但是好復雜.2013-02-02
Linux 初始化MySQL 數(shù)據(jù)庫報錯解決辦法
這篇文章主要介紹了Linux 初始化MySQL 數(shù)據(jù)庫報錯解決辦法的相關資料,需要的朋友可以參考下2017-05-05

