Emacs上でM-!からシェルコマンドを実行する際の挙動について質問させて下さい。

(先日類似質問をhelp-gnu-emacsにしたのですが、
流れたのと少し状況が変わったので許して下さい。)

M-!でコマンドを実行する際もzshのRC_QUOTESを設定した時のように、
''を使って'...'の中で'を表現したいのでzshをM-x shellに設定しました。

例えばperl -nle 's/its/it''s/g; print'等のコマンドを想定しています。
通常のシェル上では動作しますが、EmacsでM-!からは動作しません。
M-! setoptで確認したところ、.zshrcの設定内容が反映されていないようです。
(M-x shellでシェル用バッファ作成後の実行では反映されます。)

M-!でのコマンドを実行時にRC_QUOTESを有効にするにはどうすれば良いでしょうか。

よろしくお願いします。

('...'内で'\''を使えば、RC_QUOTESを使わずに'を表現できますが、
使い辛いので、それ以外でお願いします。)

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2009/05/01 02:32:59
※ 有料アンケート・ポイント付き質問機能は2023年2月28日に終了しました。

回答1件)

id:rubikitch No.1

回答回数120ベストアンサー獲得回数22

ポイント100pt

.zshenvに

setopt rc_quotes

を入れましょう。

id:taichino0730

rubikitch様

先日に引き続きありがとうございます。

ご指摘の設定で動作致しました。

恥ずかしながらログインシェル、対話型シェル、非対話型シェルの存在を

知りませんでした。よく見ると手元の書籍にもmanにも

記述がありました。もっと自分で調べる力をつけないとと思います。

おかげさまで.zshenv, .zshrc, .zlogin, .zprofileの

それぞれについてある程度理解できました。

ありがとうございました。

2009/05/01 02:32:21

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません