Не могу запустить fdisk на Cygwin, когда он установлен

1572
Hashim

Я не могу работать fdiskна Cygwin, вне или внутри каталога, в котором он находится, несмотря на подтверждение того, что:

  • fdisk.exeсуществует внутри /sbin, через командную строку и Windows Explorer

  • C:\cygwin64;, C:\cygwin64\sbin;И C:\cygwin64\bin;устанавливаются в переменной PATH среды

enter image description here

Запуск which fdiskвозвращает ошибку «no fdisk in [PATH]», где [PATH] - это содержимое моей переменной окружения PATH.

Что тут происходит?

1

2 ответа на вопрос

1
Hashim

После некоторого тестирования кажется, что проблема в этом случае состояла в том, что мой компьютер должен был быть перезагружен для обновления PATHпеременной среды Windows . Я не пробовал этого, потому что предполагал, что это было целью source ~/.bashrc, которую я всегда использовал для подобных целей в прошлом.

Лично для меня не было особых проблем с перезагрузкой компьютера, но я бы предпочел иметь команду, которая мешает мне сделать это, и я вижу, что требуемый перезапуск очень проблематичен для пользователей сервера.

Если посмотреть глубже, кажется, что source ~/.bashrcэто возможно в системах на основе UNIX, но то же самое не относится к Cygwin, вероятно потому, что Cygwin использует PATHпеременную среды Windows, а не устанавливает их явно в .bashrc.

Я разместил дополнительный вопрос по этому вопросу здесь .

0
Keltari

* NIX работает иначе, чем Windows.

Вам нужно будет ввести полный путь /sbin/fdisk

Или, находясь в /sbinкаталоге, нужно набрать./fdisk

Вот как вы можете узнать и изменить $path переменную окружения * NIX .

По умолчанию в cygwin `/ sbin /` не по пути, как обычно в большинстве Unix. matzeri 6 лет назад 0
Я знаю, что * NIX-системы работают не так, как Windows, но Cygwin также не является обычной * NIX-системой из-за необходимости работать в Windows, а также немного отличается от * NIX. [Следующая страница] (https://cygwin.com/cygwin-ug-net/setup-env.html) из документации Cygwin, по-видимому, утверждает, что Cygwin наследует переменные среды Windows, что может противоречить тому, что вы повторяю здесь. Кроме того, запуск `which fdisk`, похоже, возвращает мой PATH нормально, он просто не может найти` fdisk` внутри него. Hashim 6 лет назад 0
@ Хашим попробуй мой ответ * будет * работать Keltari 6 лет назад 0
Я знаю, что это работает, потому что это полный путь к исполняемому файлу, но вводить его каждый раз раздражает и громоздко. Здесь реальная проблема, которую вы, похоже, упустили из виду, заключается в том, что я не могу запустить `fdisk` как отдельную команду, как я использую любую другую команду, и решение этой проблемы с помощью полного пути является хакерским решением. и не тот, который я ищу. Hashim 6 лет назад 0