cp: не може stat '/ some / path / *': Немає такого файлу або каталогу


4

Мій код сценарію:

var="/some/path"
cp "$var*" "/another/path"

Потім він кидає:

cp: cannot stat '/some/path/*': No such file or directory

Я спробував це і отримав ту ж помилку:

cp "${var}*" "/another/path"

Нарешті, я вирішив цю проблему:

cp "$var"* "/another/path"

Цього разу команда виконана успішно, але я хотів би знати ЧОМУ.

Не могли б Ви дати пояснення?

Відповіді:


8

При використанні "$var*" вихід буде /some/path*, де * вважається символом (не логічним, оскільки він знаходиться в подвійних лапках). Так у вашому випадку ( /some/path/* ), cp шукає файл / папку з ім'ям * всередині path каталог.

Коли він знаходиться поза подвійними лапками, він розглядається як логічний символ, що означає що завгодно починається з path ( path1, path2 і т.д.).
Або якщо path/* (все, що є в цьому каталозі).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.