Как получить доступ к общему диску в сценарии cygwin bash? - PullRequest
4 голосов
/ 26 июня 2011
#!/bin/bash
"mirror -R //thevault/Shared/Operations/Marketing/test --only-missing -e ;exit"

Я использую lftp для зеркалирования папки на общем диске. Но это не с «Нет такого файла или каталога». Как правильно написать это? и как бы мне избежать пробела в имени файла. Я попробовал буквально все.

Я тоже пробовал /cygdrive/s/Operations/Marketing/test. Это работает, пока я вхожу в систему и запускаю скрипт. Но когда задача запускается, когда я не вошел в файл журнала, я получаю ту же ошибку «Нет такого файла».

Ответы [ 2 ]

4 голосов
/ 26 июня 2011

Я не думаю, что это вообще поддержка в cygwin для UNC-путей (т.е. \\server\share), поэтому вам придется полагаться на подключение к сетевому диску, а затем использовать /cygdrive/s.Чтобы устранить проблему, когда она не работает, когда вы не вошли в систему, вам нужно вызвать программу Windows NET из вашего скрипта:

net use s: \\thevault\Shared password /user:myuser 

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

1 голос
/ 27 июня 2011

Похоже, что он работает отлично, когда вышел из системы.

#!/bin/bash
lftp ftp://username:password@server.com -e "mirror -R //thevault/Share/folder/folder/folder\ with\ spaces/folder/folder --only-missing -e;exit"

Это были пробелы на моем пути.Причина, по которой это не сработало, заключается в том, что когда я набирал путь, я делил ошибку с ошибкой.// thevault / shared <~~ неверный </p>

#!/bin/bash
"mirror -R //thevault/Shared/folder/folder/test --only-missing -e ;exit"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...