繁体   English   中英

如何将包含空格的文件名作为参数传递给命令行程序?

[英]How to pass a file name containing spaces as an argument to a command-line program?

每当我尝试将名称中带有空格的文件添加到 git 时,它都会显示错误为

"fatal: pathspec 'Tic' did not match any files"

因为我是 git 和基于 Linux 的终端的新手,所以我不知道该怎么做。

屏幕截图或我的错误: 在此处输入图像描述

您应该能够引用文件名(例如“文件名”),或使用转义序列(例如文件\<空格>名称)。

为了扩展@ergonaut 的正确答案,只是为了清楚起见,这实际上既不是 git 也不是 Linux 问题。 这只是全面命令行的一般要求。

在任何命令行上,每个单词(或在本例中为单词串)都被单独评估为命令或命令的参数。 因此,例如,git 的add命令期望在它之后紧跟一个参数(文件名)。 在这种情况下,它看到的下一个单词就是“Tic”。 因为它只寻找一个参数,所以它停止评估其他任何东西,这就是它抱怨找不到“Tic”文件的原因。 当单词用引号引起来时,整个字符串被评估为单个参数,从而解决了问题。

在命令行上使用包含空格的文件名时,请始终用引号括起来。 或者更好的是,避免在文件名中使用空格。 :-)

尝试:

git add Tic\ tac\ toe.c

\用于转义特殊字符,尽管这与bash相关而不是git特定。

或者,您可以将文件名放在引号中。

git add "Tic tac toe.c"

开始写第一个单词,然后按“Tab”按钮使用自动完成,你会很高兴))

暂无
暂无

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

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