簡體   English   中英

如何在bashrc文件中為別名命令動態設置路徑的一部分

[英]How to set part of a path dynamically for alias command in bashrc file

我正在嘗試使用別名命令,並且其路徑的一部分不斷變化。 例如:

/var/mywork/swag/wsnew/
/var/mywork/swag/ws/
/var/mywork/swag/wsold/

和我的別名命令要實現的是一些鏈接

別名cws ='cd / var / mywork / swag //

因為路徑中的最后一個目錄一直在變化。 我想自動獲取別名命令中的更新。 反正有嗎?

我嘗試了類似的東西

別名cws ='cd / var / mywork / swag / getenv(“ WSP”)/

因此,每當我將WSP設置為所需路徑時,它都會自動使用。 但這沒有幫助。

像大多數別名問題一樣,使用shell函數更容易解決:

cws() {
    cd /var/mywork/swag/"$WSP"
}

就像melpomene所說的那樣,最好還是使用函數,但是如果您出於某種原因想要堅持使用別名,則可以

alias cws='cd /var/mywork/swag/$WSP'

但是請注意,這與在某一點上使用shell函數有所不同,后者與僅為一個命令設置變量有關:如果您編寫

WSP=aaa
...
WSP=xxx
...
WSP=yyy cws

並且cws被定義為函數,它將cd轉換為yyy,但是如果它是別名,則將cd轉換為xxx。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM