Bash - 没有这样的文件或目录,即使该目录存在并且前面的命令运行正确

Bash - 没有这样的文件或目录,即使该目录存在并且前面的命令运行正确

我正在 Macosx Yosemite 上运行一个非常简单的 bash 脚本

#!/bin/bash
makefilePath=$(echo $(pwd)/make.sh | sed 's/ /\\ /')
echo $makefilePath
source "$makefilePath"

前三行按预期工作,但第四行创建了一个 returns an error No such file or directory,即使我makefile通过复制粘贴直接在 shell 中运行该命令,它也可以正常工作。

我不知道问题是什么。请帮忙。

答案1

您没有写出您的实际内容PWD,但我假设它包含空格,因此 sed 命令将破坏文件名,并且它将不再代表原始文件。

损坏的文件名通过 shell 扩展按字面解释(并使用双引号)。请注意,也'\\'不会执行您可能想要的操作。

相关内容