cp: cannot stat '/some/path/*': No such file or directory
My script code is:
var="/some/path"
cp "$var*" "/another/path"
Then it throws:
cp: cannot stat '/some/path/*': No such file or directory
I have tried this and got the same error:
cp "${var}*" "/another/path"
Finally, I solved this problem by:
cp "$var"* "/another/path"
This time the command executes successfully, but I'd like to know WHY.
Could you please give out an explanation ?
When you use "$var*"
the output will be /some/path*
, where *
is considered as a character (not as a regex expression, since it's inside the double quotes).
So in your case (/some/path/*
), cp
is searching for a file/folder named *
inside the path
directory.
When it's outside the double quotes it's considered as a regex pattern, meaning anything that starts with path
(path1
, path2
etc).
Or if path/*
(anything that is on that directory).