[CentOS] 指定命令別名:Alias & 軟鏈接生成命令 ln -s


參考:CentOS里alias命令詳解

     每天一個linux命令(35):ln 命令

 

1. Alias命令

功能描述:我們在進行系統的管理工作一定會有一些我們經常固定使用,但又很長的命令。那我們可以給這些這一長串的命令起一個別名。之后還需要這一長串命令時就可以直接以別名來替代了。系統中已經有一些默認的命令別名。可以alias來查看。也可以查看家目錄下的~/.bash_profile來查看,這個是屬於用戶個人的別名。如果要定義全局的別名,可以將定義寫入/etc/bashrc檔案中。通過alias去的別名,在系統重新啟動過后會自動清除。修改后,要source一下才會生效。

語法:alias [別名] = [指令名稱]  

取消別名:unalias [別名]

 

使用實例:將 matlab 的版本號由 R2013a 更新為 R2015b

(1)系統現有的別名

[She@She ~]$ alias
...
alias matlab='"/usr/local/MATLAB/R2013a/bin/matlab"'
...

(2)編輯文件~/.bashrc。更改部分見彩色文字的標注。

 

[She@She ~]$ vi ~/.bashr

 

 

 

 
        
# .bashrc
...
alias matlab='"/usr/local/MATLAB/R2013a/bin/matlab"'
...
 
        
更改后:

# .bashrc
...
alias matlab='"/usr/local/MATLAB/R2015b/bin/matlab"'
...
 
        
 
        

 

(3)用source命令更新環境變量,使更改生效。

 

[She@She ~]$ source ~/.bashrc

 

(4)查詢系統現有的別名,以確認更新成功。

 

[She@She ~]$ alias
...
alias matlab='"/usr/local/MATLAB/R2015b/bin/matlab"'
...

 

2. 用 ln 命令修復 shell 調用 matlab 時的 bug

Bug描述:用 alias 命令指定的簡寫,可以在終端啟動matlab,但不能在 shell 文件中運行matlab命令。

Bug修復:用 ln -s 生成軟鏈接,以搭配使用。

 

(1)在終端可以正常啟動 matlab

[She@She ~]$  matlab -nodesktop -nojvm 

                            < M A T L A B (R) >
                  Copyright 1984-2015 The MathWorks, Inc.
                   R2015b (8.6.0.267246) 64-bit (glnxa64)
                              August 20, 2015

 
For online documentation, see http://www.mathworks.com/support
For product information, visit www.mathworks.com.
 
>> 

 

(2)bug:在 shell 腳本中無法使用簡寫命令調用 matlab,只能使用含絕對路徑的完整命令來調用 matlab:

    測試 m 文件 /home/She/tmp.m:

pause(60);

   測試 shell 腳本 /home/She/test.sh:

#!/bin/bash

MatlabFile='/home/She/tmp.m'

chmod +x ${MatlabFile}

/usr/local/MATLAB/R2015b/bin/matlab  -nodesktop -nosplash -nojvm -r "run ${MatlabFile}; exit;"  # 可正常運行

matlab  -nodesktop -nosplash -nojvm -r "run ${MatlabFile}; exit;"                               # 報錯

exit

 

   shell 報錯如下:

[She@She ~]$ ./test.sh
./test.sh: line 9: matlab: command not found
[She@She ~]$ 

 

(3)用 ln 命令修復 bug

ln 命令的用法為: ln [參數] [源文件或目錄] [目標文件或目錄] 

                         注意:源文件和目標文件的順序千萬不要搞錯了!

使用 "ln" 命令生成軟鏈接 /usr/bin/matlab,使它指向 matlab 的啟動程序:

[She@She ~]$ sudo ln -s /usr/local/MATLAB/R2015b/bin/matlab /usr/local/bin/matlab
[sudo] password for She: 

 

 

(4)再次測試 shell 腳本,一切正常

[She@She ~]$ ./test.sh
[She@She ~]$ 

 

 

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM