在别名中输出当前工作目录

4

我希望创建一个别名,可以打印出当前工作目录的子名称。

我有以下代码:

BASENAME=${PWD##*/}
alias wai="echo $BASENAME"

这个命令会输出存储.bashrc文件的目录子名称。我希望它是当前工作目录。

如果这很简单,对不起,我是bash新手。


你可以直接使用 pwd 而不是别名。 - ed.
我需要在另一个别名中实际使用基本名称,而不仅仅是打印它。我正在使用这个别名(wai)来尝试在继续之前提取基本名称。 - Nick Barone
亲爱的谷歌搜索者:请检查您的引号,对我来说一个简单的解决方法是在别名定义中使用单引号 ' 而不是双引号 "。请参见下面 @kgong 的答案获取更多信息。 - PatKilg
3个回答

10

1
我认为这实际上是我正在寻找的答案,因为它基于问题导致了预期的行为。供参考,我使用以下别名从项目目录启动相应的Python虚拟环境,如下所示:alias use-env='source ~/env/${PWD##*/}/bin/activate - PatKilg

3
这个可以使用一个命令来完成:
$ pwd
/path/to/current/directory

我有所遗漏吗?

根据您的评论进行编辑:

alias foo="pwd | rev | cut -d '/' -f1 | rev"

在这种情况下,我只想要打印"directory"。我将使用另一个类似于以下内容的别名: alias winitio="initio -i $BASENAME $1"我上面发布的别名仅用于提取基本名称。 - Nick Barone
编辑后的答案,可能的解决方案: 请提供原始的英文文本以供翻译。 - jman
然后在运行winitio命令之前,我必须先调用bar,这并不理想。 - Nick Barone
这是我现在拥有的:alias wai="pwd | rev | cut -d "/" -f1 | rev" BASENAME=$(wai) alias winitio="echo initio -i $BASENAME $1"wai 输出正确,但当我执行 winitio 时,我得到了我的主目录,其中包含 .bashrc。 - Nick Barone
在winitio定义中使用单引号。 - jman
显示剩余2条评论

1

关于什么?

alias wai='basename $PWD'

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接