【问题标题】:How to `cd` to a directory with spaces? [duplicate]如何`cd`到带有空格的目录? [复制]
【发布时间】:2020-03-30 00:35:24
【问题描述】:

我正在尝试将 bash 命令行导航到我的 /projects 目录的子目录,但我不断收到“没有这样的文件或目录”。

ls 命令清楚地显示了该目录的存在。

我错过了什么?

注意:如果上下文很重要,我正在尝试导航到目录以运行 npm 测试:)

【问题讨论】:

标签: bash command-line


【解决方案1】:

这可能是由于您的目录名称中有空格。 您可以重命名它以便于访问,或者只是开始编写名称并使用自动完成(带有选项卡)让系统为您正确编写它。 如果上述解决方案仍然不起作用,请尝试用反斜杠 (Content\ Creator) 转义空格,看看会发生什么。

【讨论】:

    【解决方案2】:

    您可以尝试像这样在“内容创建者”周围加上引号。
    当您尝试导航到任何目录时,最好始终使用引号,即使没有空格字符。因为它可能与命令有相似之处。以防万一。

    【讨论】:

    • 我同意你的观点,但在目录名称中使用空格是一种常见的习惯。
    • @GinoMempin, ...指责对正在处理的数据的错误处理并不是一种有用的方法——它不能修复不够健壮的代码处理所有可能的值。有时数据来自您无法控制的范围——有时它甚至是由蓄意的恶意攻击者生成的。正确的做法是编写正确的代码无论您的数据是什么;否则当一个错误创建了一个包含空格的文件名 * 时,您可能会发现自己就像我的一位前雇主所做的那样——因为脚本试图删除该文件而删除了他们的所有备份。
    • @CharlesDuffy 关于“编写正确的代码,无论您的数据是什么”的要点。当目录名称是从外部来源提供时,我没有考虑到这种情况。
    猜你喜欢
    • 2013-08-21
    • 1970-01-01
    • 2012-08-15
    • 2010-10-10
    • 2016-07-22
    • 1970-01-01
    • 2023-03-16
    • 2019-03-19
    • 2016-02-27
    相关资源
    最近更新 更多