2012-07-02 82 views
2

我正在開發一個TIBCO應用程序,並且需要能夠從外部命令資源運行scp命令。從cmd登錄到Bash並在一行中運行命令

無論如何,問題歸結爲能夠登錄到bash.exe,然後在同一行中運行我的scp命令。

當我運行(從CMD.EXE)

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

(我進入bash)的

然後我可以運行我的SCP聲明就好

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

我想它的工作原理做這兩件事在同一行,但它不工作,又名

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

將會失敗。我在做什麼錯了,我怎樣才能一次運行這個命令?

感謝

+0

在Windows中,可以通過&&組合,如 「回聲你好&&暫停」,我不知道這是否適用於UNIX系統連接多個命令。你可以試試看。 – 2012-07-02 21:28:32

+0

@GamErix,是的,它也適用於bash。 – Shahbaz

+0

你必須引用該命令,但我不知道cmd是如何處理引號的。 'c:\ cygwin \ bin \ bash.exe --login -c'scp account @ server:〜mysourcedirectory/targetfilename */cygdrive/c/targetfolder'' –

回答

4

你必須引用命令。

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

在葡萄酒中的GNU/Linux使用CMD測試。單引號不起作用,我不知道cmd的所有引用規則。但是,上面的工作。