アイデアは、Windows ボックス (sshd) でサービスとして実行されている cygwin デーモンに接続するときに表示される CYGWIN 警告を取り除くことです。
問題のあるケース:
> ssh -i <my private key> me@server "ls d://path//to//folder//"
cygwin warning:
MS-DOS style path detected: d://path//to//folder//
Preferred POSIX equivalent is: /cygdrive/d/path/to/folder/
CYGWIN environment variable option "nodosfilewarning" turns off this warning.
Consult the user's guide for more details about POSIX paths:
http://cygwin.com/cygwin-ug-net/using.html#using-pathnames
[...]
この警告により、実行されたリモート コマンドが「0」ステータス コードではなく警告を返す可能性があります。
この警告は、CYGWIN 環境変数に次の値を設定するように指示しています: "nodosfilewarning"
問題は、次のいずれかの場所に設定しても、リモート環境に入らないことです。
- Windows ユーザー環境変数
- Windows システム環境変数
- ~/.bashrc
- ~/.profile
- /etc/bashrc
- /etc/プロファイルなど
テストケース:
> ssh -i <my private key> me@server "env | grep CYGWIN"
CYGWIN=CYGWIN sshd
CYGWIN 環境変数には、設定した場所に関係なく、適切な値が含まれることはありません...