2016-12-07 47 views
0

我使用兩個別名相同功能的說使用如何找到它的別名是

alias lsd=LSD 
alias lsdr=LSD 
function LSD { 

} 

現在我需要的功能檢查,如果LSD別名用於運行ls -ld或者LSDR使用運行ls - ldr的參數已通過。

我可以使用這些參數,但我想檢測函數中的別名,該別名是從哪個別名被調用的。

+0

您能否添加更多信息,導致一個別名在另一個別名上運行? – dood

+0

你爲什麼這樣做? – 123

+1

你可以使用參數。即別名lsd = LSD 1;別名lsdr = LSD 2; LSD(){if [「$ 1」-eq 1];然後回顯「lsd」;其他回聲「lsdr」; fi}' – Aserre

回答

0

只需設置別名以包含附加參數以標識所使用的別名,並在函數內將參數從參數列表中移出即可。

function LSD 
{ 
    typeset version=${1} 
    shift 

    case ${version} in 
     1) echo "called as lsd" ;; 
     2) echo "called as lsdr" ;; 
    esac 

    echo "Other args = $*" 
} 

alias lsd="LSD 1" 
alias lsdr="LSD 2"