cp: 目标不是目录

Cp: target is not a directory

我有一个包含这一行的 bash 脚本:

cp -R /usr/lib/gcc/x86_64-linux-gnu/$GCC_VERSION/* /app/.apt/usr/lib/gcc/x86_64-linux-gnu/$GCC_VERSION

完整脚本:https://github.com/virtualstaticvoid/heroku-buildpack-r/blob/cedar-14/bin/compile

不幸的是它失败了 cp: target ‘/app/.apt/usr/lib/gcc/x86_64-linux-gnu/4.8’ is not a directory

任何可能出错的提示?不幸的是,我对 bash.

没有太多经验

以前这个脚本是 运行 单独的,并且可以正常工作。现在我不得不在它之前添加一些 apt-get install,它开始失败所以我正在尝试修复它。

没有名为 4.8 的目录...这就是您的问题:)

运行 在你的 cp 命令之前:

mkdir -p /app/.apt/usr/lib/gcc/x86_64-linux-gnu/$GCC_VERSION

它创建给定路径中的所有目录!

这应该有效,在 cp 命令的末尾添加 / 以明确其目录:

mkdir -p /app/.apt
cp -R $BUILD_DIR/.apt/* /app/.apt/