繁体   English   中英

仅打印命名目录的别名?

[英]An alias that just prints the named directory?

我只是在意识到终端的功能强大。 我的问题本质上是,是否可以创建一个仅显示目录名称的别名。 例如,我可以轻松地创建一个别名,例如“ alias sitename =“ cd〜/ sites / path / to / my / site /”。但是我想要的是一个仅打印目录名称的别名,以便我可以使用它例如,如果需要,我可以说cd“ alias”或mv from-dir“ alias”。

有没有办法做到这一点? 我已经尝试过了,如果我只是键入别名,它似乎可以识别该别名:它将报告“ alias”是一个目录。 但是,如果我尝试将其与另一个命令结合使用,它将失败。

简单地使用变量

d=/path/to/some/directory
echo $d
cd $d
mv somedir $d/

您无需在此处使用别名变量就足够了。

您不想使用alias ,所追求的只是一个环境变量

$ export SITENAME="~/sites/path/to/my/site/"
$ cd $SITENAME

Bash对语法非常挑剔-请注意,导出时和$时都没有空格。

听起来您想设置一个变量,而不是别名。 例如sitename=/home/jimbo/ 然后, cd $sitename将把您放在/home/jimbo/

如果您希望此变量具有永久性(即,不必在每次打开新会话时都进行设置),则可以使用export命令将其设置为环境变量,或将其添加到您的.bashrc文件中(通常位于在$HOME/.bashrc ),使用以下行: sitename=/home/jimbo/

仅供参考, $HOME是另一个等同于~/环境变量。

使用变量是最简单的解决方案。 您可能会喜欢上并使用一个数组:

mydir() { echo "/my/directory"; }

显示值

mydir

要使用该值,您需要一些额外的标点符号

cd $(mydir)
cd `mydir`

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM