Bash Cygwin не может запустить команду «net use / user»? - PullRequest
4 голосов
/ 10 февраля 2010

Я запускаю 'net use / user: "Someone" \where', и он хорошо работает с cmd.exe.

С тем же cmd.exe, запустите "bash --login -i"используйте cygwin / bash и выполните ту же команду, но я получаю сообщение об ошибке следующим образом.

System error 67 has occurred.

The network name cannot be found.

Почему я не могу запустить команду net use / user с cygwin/ баш?

Ответы [ 3 ]

13 голосов
/ 10 февраля 2010

В bash cygwin вам необходимо экранировать любую из этих forward обратных косых черт, поскольку они интерпретируются как escape-символы.

попробуйте это

net use /user:"Someone" \\\\server\\share

или используйте одинарные кавычки, которые передадут аргумент без изменений

net use /user:"Someone" '\\server\share'

3 голосов
/ 12 декабря 2013

Я столкнулся с проблемами при попытке использовать ключ / delete с использованием net из bash в windows. Это похоже на то, как определенные команды Windows обрабатывают аргументы командной строки.

Я думал, что смогу обойти это, запустив «net use» из суб-оболочки cmd.exe, но, похоже, на это также влияет проблема обработки аргументов. Я нашел обходной путь для cmd.exe в цитировании, но, похоже, не нашел правильного цитирования для непосредственного использования net use для этой задачи.

$ cmd "/c net use T: /delete"
0 голосов
/ 10 октября 2018

В MSYS / Git Bash параметры, начинающиеся с косой черты, преобразуются POSIX-в-Windows преобразование пути
(т.е. /delete выглядит как путь и преобразуется в C:\Program Files\Git\delete или что-то похожее).

Есть два решения, чтобы обойти это преобразование:

  1. Удвойте первую косую черту , чтобы избежать преобразования POSIX в Windows:

    net use //user
    # outputs usage of NET USE
    
    net use T: //delete
    # outputs "T: was deleted successfully."
    
  2. Использовать временную переменную среды MSYS_NO_PATHCONV=1 примерно так:

    MSYS_NO_PATHCONV=1 net use /user
    # outputs usage of NET USE
    
    MSYS_NO_PATHCONV=1 net use T: /delete
    # outputs "T: was deleted successfully."
    

Источник / объяснение: Bash переводит параметр пути в формате Unix в формат Windows, нужен способ его подавления # 577

Обновление: для этого ответа используется упоминание MSYS, как предлагается в комментарии от bobbogo .

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...