2012-07-02 3 views
2

Я разрабатываю приложение TIBCO и должен иметь возможность запускать команду scp из внешнего ресурса команды.Из cmd войдите в Bash и запустите команду в одной строке

В любом случае проблема сводится к возможности входа в bash.exe, после чего запустите мою команду scp в той же строке.

это работает, когда я бегу (из cmd.exe)

c:\cygwin\bin\bash.exe --login 

(я вхожу Баш)

Тогда я могу запустить мой Scp заявление просто отлично

scp [email protected]:~mysourcedirectory/targetfilename* /cygdrive/c/targetfolder 

Я хочу сделайте эти две вещи в одной строке, но она не работает, aka

c:\cygwin\bin\bash.exe --login -c scp [email protected]:~mysourcedirectory/targetfilename* /cygdrive/c/targetfolder 

потерпит неудачу. Что я делаю неправильно и как я могу запустить эту команду за один раз?

Спасибо

+0

В окнах вы можете подключить несколько команд с помощью комбинации &&, например «echo hello && pause», я не знаю, работает ли она для систем unix. Вы можете попробовать. –

+0

@ GamErix, да, это работает и в bash. – Shahbaz

+0

Вы должны процитировать команду, хотя я не знаю, как работает cmd с кавычками. 'c: \ cygwin \ bin \ bash.exe --login -c 'scp account @ server: ~ mysurcedirectory/targetfilename */cygdrive/c/targetfolder'' –

ответ

4

Необходимо процитировать команду.

c:\cygwin\bin\bash.exe --login -c "scp [email protected]:~mysourcedirectory/targetfilename* /cygdrive/c/targetfolder" 

Протестировано с использованием cmd в вине в gnu/linux. Одиночные кавычки не работают, я не знаю всех правил цитирования для cmd. Но выше это работало.

Смежные вопросы