Linux上增加自定義腳本的展現(xiàn)量
在一臺(tái)Linux機(jī)器上寫(xiě)好一個(gè)腳本以后,希望這個(gè)腳本讓這臺(tái)機(jī)器上其他用戶(hù)使用,但是不可能會(huì)讓別人記住這個(gè)腳本的路徑,這個(gè)時(shí)候該怎么辦呢?
原理
在回答上面的問(wèn)題之前,我們首先思考下面這個(gè)問(wèn)題:為什么我們用的很多指令都不需要絕對(duì)路徑的文件名呢?
我以最常用的ls指令為例子。首先要查看指令的執(zhí)行文件位置:which ls。輸出的內(nèi)容為:/bin/ls。
為什么ls指令就不需要以絕對(duì)路徑名就能調(diào)用呢?
這是因?yàn)榄h(huán)境變量PATH指定了默認(rèn)的檢索路徑。那么要怎么去查看環(huán)境變量呢?
1. 輸出內(nèi)置變量PATH:echo $PATH
2. 查看所有變量:env
但是有時(shí)候我們使用ll也能調(diào)用帶有參數(shù)的ls指令,但是使用which ll卻找不到執(zhí)行文件。這是使用了別名alias指令指定了指令的別名。
其實(shí)除此之外我們還可以在PATH的路徑中添加鏈接文件指向我們的指令。
由此可知,可以通過(guò)以下方式指定腳本的路徑:
1. 在PATH變量中添加腳本路徑
2. 使用alias指令設(shè)置別名
3. 在PATH中的路徑目錄中增加鏈接文件
實(shí)戰(zhàn)
準(zhǔn)備自定義腳本
- 創(chuàng)建腳本文件:touch mysh.sh
- 編輯腳本文件(如果沒(méi)安裝vim可以改為用vi):vim mysh.sh
- 按Insert鍵進(jìn)入編輯模式,文件內(nèi)容如下:
#!/bin/bash
echo "Hello World!"
- 按Esc鍵退出編輯模式,輸入:wq保存并退出
- 授予腳本文件執(zhí)行權(quán)限:chmod +x mysh.sh
- 嘗試執(zhí)行腳本:./mysh.sh
修改環(huán)境變量PATH
- 修改profile文件:vim /etc/profile,在文件尾部添加以下內(nèi)容:export PATH=$PATH:/root。內(nèi)容中的/root可以替換為腳本所在的目錄。
- 使修改后的profile文件生效:soruce /etc/profile
- 檢查PATH修改是否生效:echo $PATH
- 嘗試執(zhí)行腳本:mysh.sh
設(shè)置別名
- 修改profile文件:vim /etc/profile,在文件尾部添加設(shè)置別名的內(nèi)容,注意要使用全路徑名:alias mysh=/root/mysh.sh內(nèi)容中的/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為目標(biāo)文件,即需要?jiǎng)?chuàng)建軟鏈接的文件。/usr/bin/mysh為創(chuàng)建的軟鏈接文件。
- 通過(guò)軟鏈接文件名執(zhí)行腳本:mysh
題外話(huà)
有時(shí)候解壓一些工具,想嘗試運(yùn)行的時(shí)候,不是全路徑名執(zhí)行,就是跳轉(zhuǎn)到執(zhí)行文件所在的目錄,然后./執(zhí)行文件名。
如果是懶得打./,可以在profile文件的底部添加以下內(nèi)容:export PATH=$PATH:./。注意這段內(nèi)容盡量保證在文件最后一行。
總結(jié)
在最后匯總以下使用到的指令和工具:
1. 查看文件信息:ls
2. 跳轉(zhuǎn)到某個(gè)目錄:cd
3. 輸出指令:echo
4. 文本編輯器:vim
5. 查看環(huán)境變量:env
6. 查看指令或者工具的執(zhí)行文件所在路徑:which
7. 別名指令:alias
8. 配置刷新:source
9. 文件授權(quán):chmod
10. 設(shè)置環(huán)境變量:export
11. 創(chuàng)建鏈接文件:ln
版權(quán)聲明:本站文章來(lái)源標(biāo)注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請(qǐng)保持原文完整并注明來(lái)源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非maisonbaluchon.cn所屬的服務(wù)器上建立鏡像,否則將依法追究法律責(zé)任。本站部分內(nèi)容來(lái)源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來(lái),僅供學(xué)習(xí)參考,不代表本站立場(chǎng),如有內(nèi)容涉嫌侵權(quán),請(qǐng)聯(lián)系alex-e#qq.com處理。
關(guān)注官方微信