1

Возможный дубликат:
пути cygwin cygdrive и командная строка Windows

У меня странная проблема с Cygwin, который действует непоследовательно между установками, особенно scp. У меня есть c:\cygwin\bin в моем Windows PATH в обоих случаях. Однако когда я запускаю следующую команду из командной строки Windows, я получаю очень разные результаты между двумя установками:

scp /cygdrive/c/something.txt User@server:${HOME}/something.txt

На одной машине он передает файл просто отлично, но на другой машине я получаю сообщение об ошибке:

/cygdrive/c/something.txt: No such file or directory

Тем не менее, если я выполню команду таким образом на машине, которая выдала мне ошибку, она передается очень хорошо:

scp /c/something.txt User@server:${HOME}/something.txt

Почему различия? Есть ли что-то, что мне нужно настроить в Cygwin, чтобы это работало с /cygdrive /c?

Я попытался запустить mount --change-cygdrive-prefix /cygdrive но это не решает проблему.

ОБНОВЛЕНИЕ: Вот кое-что более интересное. Если я сделаю ls /c из командной строки Windows, я получу то, что вы ожидаете, как список всего в C:. Однако, ls /cygdrive/c говорит, что его не существует. Запуск этих команд из cygwin bash приводит к совершенно противоположному поведению.

1 ответ1

2

Похоже, ваши команды scp и ls не являются версиями Cygwin. Предположительно, вы запускаете bash , ваши стартовые скрипты меняют PATH чтобы поместить Cygwin /bin впереди, тогда как в противном случае ваш PATH имеет не-Cygwin версии scp и ls раннем этапе.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .