Cp: Target Is Not a Directory

I have a bash script with this line:

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

Full script:

Unfortunately it fails with cp: target ‘/app/.apt/usr/lib/gcc/x86_64-linux-gnu/4.8’ is not a directory

Any tips what could be wrong? Unfortunately I do not have much experience with bash.

Previously this script was running alone and it was working. Now I had to add some apt-get install before it, and it started to fail so I am trying to fix it.

1

2 Answers

There is no directory with the name 4.8...Thats your problem :)

Run this before your cp command:

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

It creates all directories in the given path!

2

This should work, add / at the end of cp command to make it clear for it that its dir:

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

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

James H. Sterling

James H. Sterling

Environmental Science & Climate Journalist

James Sterling reports on renewable energy developments, climate policy, ecological conservation, and green tech innovations around the globe.

Share this article
Twitter Facebook Pinterest