Hatena::ブログ(Diary)

no strict; no life;

2009-05-29

emacs lispのshell-command-to-string()

shell-command-to-stringっていう関数は、渡された文字列をコマンドとしてログインシェルに渡すっぽい。

なのでtcshをログインシェルにしていて、下記のようなものを評価すると

(shell-command-to-string
 "perl -e 'print join(q{ }, grep( !/^\.$/, @INC));'"
 )
"/: Event not found.
"

エラーがでます。これは「!」がtcshでは特別な意味を持ってるから。

ログインシェルをbashやzshに変えてやってみたら↑のは問題なく実行できました。

スパム対策のためのダミーです。もし見えても何も入力しないでください
ゲスト


画像認証