linux脚本空格转义,转义 - 使用路径名中的空格将Bash脚本cd到目录

在Bash脚本中,要处理含有空格的路径,可以通过双引号、反斜杠转义、使用$HOME环境变量等方式实现cd命令的成功执行。例如:`cd ~/"My Code"`,`cd ~/'My Code'`,或者`cd "$HOME/My Code"`。其他解决方案包括使用单引号、eval命令、路径名转义等。
摘要由CSDN通过智能技术生成

转义 - 使用路径名中的空格将Bash脚本cd到目录

我在macOS X上使用Bash,我想创建一个简单的可执行脚本文件,当它运行时会改变到另一个目录。 但是,该目录的路径中包含空格。 你怎么做到这一点? 这就是我所拥有的......

文件名:cd "~/My Code"

文件内容:

cd ~/My Code

现在被授予,这不是一个长路径名,但我的实际路径名是深五个目录,其中四个目录在路径中有空格。

顺便说一下,我试过cd "~/My Code"和cd "~/My\ Code",这些都没有奏效。

Benjamin W. asked 2019-04-15T10:55:02Z

12个解决方案

71 votes

当您双引号路径时,您将停止波浪号扩展。 所以有几种方法可以做到这一点:

cd ~/"My Code"

cd ~/'My Code'

这里没有引用波浪号,因此波浪扩展仍然会运行。

cd "$HOME/My Code"

您可以在双引号字符串中展开环境变量; 这基本上是代字号扩展正在做的事情

cd ~/My\ Code

您还可以使用反斜杠转义特殊字符(例如空格)。

derobert answered 2019-04-15T10:55:33Z

31 votes

我在这个页面上找到了以下解决方案:

x="test\ me"

eval cd $x

\在双引号文本常量和eval(

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值