Windows7マシンのcygwinで実行されているrubyスクリプト内からgrowlnotifyを呼び出すのに問題があります。これは実行可能だと思いますが、解釈の層が多すぎて、正しいエスケープシーケンスが何である必要があるのか理解できません。
次のコード(カスタムアイコンが指定されていない)は正常に機能しています。
#!/usr/bin/ruby
l = "Hello World"
system("/cygdrive/c/Program\\ Files\\ \\(x86\\)/Growl\\ for\\ Windows/growlnotify /t:testedfa \'#{l}\'")
ただし、アイコンを指定しようとすると失敗し始めます。私が試したエスケープ文字の層の数に応じて、コマンドは何もしないか、growlnotifyがクラッシュします。具体的には、以下に示すコードでは、Growlからまったく応答がありません。
#!/usr/bin/ruby
l = "Hello World"
system("/cygdrive/c/Program\\ Files\\ \\(x86\\)/Growl\\ for\\ Windows/growlnotify /t:testedfa /i:C:\\\workspace\\\tryCPUnit\\\amp\\\testedfa\\\pass.png \\\'#{l}\\
何か案は?