Bash 为';创建别名;cd&x27;放入包含空格的文件夹中

Bash 为';创建别名;cd&x27;放入包含空格的文件夹中,bash,alias,Bash,Alias,我希望能够访问一些经常使用的目录,无论我在目录路径的哪里。我知道别名可以帮助解决这个问题,所以我在.bashrc中添加了一些别名。以下是一些例子: alias 'Programming'="cd /mnt/e/Programming/" alias 'InternetExplorer' = "cd /mnt/c/Internet Explorer/" 第一个别名有效,但第二个别名无效 以下是我尝试过的一些事情: alias 'InternetExplorer'="cd '/mnt/c/Inte

我希望能够访问一些经常使用的目录,无论我在目录路径的哪里。我知道别名可以帮助解决这个问题,所以我在.bashrc中添加了一些别名。以下是一些例子:

alias 'Programming'="cd /mnt/e/Programming/"
alias 'InternetExplorer' = "cd /mnt/c/Internet Explorer/"
第一个别名有效,但第二个别名无效

以下是我尝试过的一些事情:

alias 'InternetExplorer'="cd '/mnt/c/Internet Explorer/'"
alias 'InternetExplorer'="cd "/mnt/c/Internet Explorer/""
alias 'InternetExplorer'="cd /mnt/c/'Internet Explorer'/"
alias 'InternetExplorer'="cd /mnt/c/"Internet Explorer"/"
alias 'InternetExplorer'="cd /mnt/c/Internet\ Explorer/"

这些解决方案中的一些确实可以在命令行中使用,但我猜别名只是将引号下的所有内容都读取为字符串。此外,我还可以编写一个名为“Internet Explorer”的函数,但从概念上讲,我觉得alias应该是解决方案。谢谢你的帮助

alias InternetExplorer="cd \"/mnt/c/Internet Explorer\""
在cygwin bash上,我会使用

alias InternetExplorer="cd \"$(cygpath -m '*pasted dir from File Manager*'\""
在cygwin bash上,我会使用

alias InternetExplorer="cd \"$(cygpath -m '*pasted dir from File Manager*'\""

如有疑问,请改用函数:

InternetExplorer() { cd "/mnt/c/Internet Explorer"; }

如有疑问,请改用函数:

InternetExplorer() { cd "/mnt/c/Internet Explorer"; }

您能告诉我们您使用的Bash的操作系统和版本吗?
alias foo=“cd foo\bar”
适用于我的macos的Bash。我目前正在Microsoft Windows的Linux子系统上运行Bash shell。我的Linux操作系统是Ubuntu,版本是18.04.2,我的bash是4.4.20(1)。i、 e.发布:
LTS。DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION=“Ubuntu18.04.2 LTS”。
还有:
GNU bash,版本4.4.20(1)-RELEASE(x86_64-pc-linux-GNU)
“其中一些解决方案在命令行上工作”很好。那么问题出在哪里呢?如果我在命令行上键入,例如,
cd/mnt/c/Internet\Explorer/
,它会工作,但别名中的同一字符串会给出一个cd:参数太多错误。您能告诉我们您使用的Bash的操作系统和版本吗?
alias foo=“cd foo\bar”
适用于我的macos的bash。我目前正在Microsoft Windows的Linux子系统上运行bash shell。我的Linux操作系统是Ubuntu,版本是18.04.2,我的bash是4.4.20(1)。i、 e.发布:
LTS。DISTRIB_ID=Ubuntu DISTRIB_RELEASE=18.04 DISTRIB_CODENAME=bionic DISTRIB_DESCRIPTION=“Ubuntu18.04.2 LTS”。
还有:
GNU bash,版本4.4.20(1)-RELEASE(x86_64-pc-linux-GNU)
“其中一些解决方案在命令行上工作”很好。那么问题出在哪里呢?如果我在命令行上键入,例如,
cd/mnt/c/Internet\Explorer/
,它会工作,但别名中的同一字符串会给出一个cd:参数太多错误。为什么要使用别名呢
InternetExplorer(){cd”/mnt/c/InternetExplorer”;}
--无需逃逸,您也不需要手动运行
cd
命令。奥雷利有一本很棒的书,“学习bashshell”,这非常详细地解释了所有不同的实现,以获得相同的结果,但在不同的上下文中有优缺点。我会把你的问题作为这个问题的答案,从概念上讲,我把一个很长很常用的链接简化成一个很容易记住的单词,因此,别名。如果可以仅为链接名别名,然后键入cd,那么我更愿意这样做@\理查德·杰索普。谢谢,这就解决了问题。在不久的将来,有时需要阅读bash脚本…查看CDPATH。为什么要使用别名
InternetExplorer(){cd”/mnt/c/InternetExplorer”;}
--无需逃逸,您也不需要手动运行
cd
命令。奥雷利有一本很棒的书,“学习bashshell”,这非常详细地解释了所有不同的实现,以获得相同的结果,但在不同的上下文中有优缺点。我会把你的问题作为这个问题的答案,从概念上讲,我把一个很长很常用的链接简化成一个很容易记住的单词,因此,别名。如果可以仅为链接名别名,然后键入cd,那么我更愿意这样做@\理查德·杰索普。谢谢,这就解决了问题。在不久的将来,有时需要阅读bash脚本…查看CDPATH。