繁体   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