2017-05-17 11 views
2

"<<<" のためにEOFを挿入します直接ブラケットの後に、行の末尾にある2つのキャリッジリターンを配置し、「EOF」は再び、以下のように書いている:Emacsは

resiline=$(grep -w -n "$searchstring" input/*) 
    resifile=$(cut -d \: -f 1 <<<EOF $resiline) 

EOF 

なぜそれがこれをするのか、どのように私はそれをやってからそれを防ぐのですか?

+1

2つの矢印を使用してここで、ドキュメントhere-stringsのためのものである '<<<'ではなく '<<'のようなもので、シェル特有のシェル特有の機能です。 – Inian

答えて

2

これは、sh-electric-here-document-modeが有効になっているためです。対話的に無効にするには、M-xsh-electric-here-document-modeのようにします。

Emacs 24では、このマイナーモードがデフォルトでsh-modeによって有効になっていましたが、もう一度無効にするにはsh-mode-hookを使用できます。経由のEmacs 25では

sh-mode-hookあなたはそれを削除することができますので、(それを直接呼び出すというsh-modeより)デフォルトでsh-electric-here-document-modeが含まれています
のMxcustomize-optionRETsh-mode-hookRET