質問: デフォルトでWindowsにはSSHクライアントが入っていないため、SSHコマンドを簡単に使用できない。 Git for Windowsを入れるとついてくるGit Bashを使うと、Linuxと同じコマンドでSSHやSCPができる。 Git Bashを立ち上げて、Git Bashのコマンドライン上でSSHコマンドを打つのはLinuxと同じなので問題ないとして、Windowsの標準コマンドプロンプトから実行したい場合はGit Bash.exeに引数を渡して実行する必要がある。 "C:\Program Files\Git\bin\bash.exe" --login -i -c "コマンド" --login でログインシェルとして動き、 -i でインタラクティブシェルとして動く。インタラクティブシェルなのでパスワード等を聞かれたときには、コマンドプロンプトに入力すればよい。 -c で実行したいコマンドを渡せる。 たとえばリモートサーバのホームディレクトリにあるsample.sqlをSCPでWindows端末に取得したい場合は次のようなコマンドになる。 C:\Users\admin>"C:\Program Files\Git\bin\bash.exe" --login -i -c "scp user@remotehost:~/sample.sql ." user@remotehost's password: sample.sql 100% 966 0.9KB/s 00:00 上記のやり方で全角文字を引数で渡すと文字コードの影響なのかエラーになってしまいます。 どんなやり方でも可能であれば試したいのですが、全角を使うのは難しいでしょうか? "C:\Program Files\Git\usr\bin\bash.exe" --login -i -c "cd \"/c/Users/user/Desktop/新しいフォルダ\" ; pwd" bash: cd "/c/Users/user/Desktop/新しいフォルダー"; pwd: No such file or directory
回答: こんにちは。 普通にできました。フォルダ名のミスと思います。「ー」が漏れてます。 ``` >"C:\Program Files\Git\usr\bin\bash.exe" --login -i -c "cd \"/c/新しいフォルダー\" ; pwd" /c/新しいフォルダー ``` Windows 10で確認しました。 【画面キャプチャです】 !イメージ説明 コマンド・プロンプトはよく使うので、画面サイズはデフォルトから変更してます。