私の研究によるとZシェル二つの秘密結社団と緊密な関係を結んでいます。出力を比較すると、これらの接続が明らかになります。GNUが作るbash
vs.を使用するとき、zsh
私の狡猾な計画を妨げるためにシェルを設定する方法を知りたいです。
F
このパートナーシップの目的は、秘密を顕著に隠すことのようです。次の簡単な出力を検討してください
Makefile
。test: @echo "# header" @echo "line with a hash # in the middle"
シェルで実行すると、
zsh
最初の行が非表示になります。ハッシュをエスケープすることは問題ではありません。 (a)最初の行だけが問題があり、(b)ファイルにリダイレクトすると正しく表示され、この時点でファイルをcat
同じ端末に送信すると問題が表示されます。(c)次の場合は端末からテキストをコピーしました。実際にそこにありますが、黒でしか表示されません。zsh
出力に基づいて十分な情報に基づいて決定を下すために秘密メッセージを隠す出力操作をどのように停止しますか?フリーメーソン
このパートナーシップの目標は、後で何が起こっているのかについて可能な限り少ない情報を開示することです。この単純なMakefileの出力を考えてみましょう。
test: for i in $$(seq 1 10); do echo -n "[$$i]"; sleep 1; done
zsh
シェルでこのコマンドを実行すると、改行文字に到達するか、ターゲットが完了するまで出力がどこかにバッファリングされます。その後、すべてが端末に返されます。これにより、長期実行ジョブが実際に機能している間に何かが表示されますが、出力に頻繁な改行が含まれていないため、理解するのは難しいです。これと比較して、私が得た結果ははるかにbash
有益です。zsh
何が起こっているのかを確認するために、印刷物を公開する必要があるまで印刷物の検閲をどのように中断できますか?
これらのいずれかが関連している場合は、GNU Make 4.2.1、Zシェル5.2を使用し、Termite v12ウィンドウのTmux 2.4の内部で実行しています。私のドットファイルは次から利用できます。扱いにくい、マルチプレクサそしてシロアリ。
make
SHELL = bash
また、Makefileに追加しても何も変更されないため、これらの問題は内部で実行されるシェルとは関係がないようです。
ベストアンサー1
正確にそうするように設計されたアドインを使用しないでください。
これは Z シェルが実行する操作ではなく、Z シェルが実行する操作です。 tmuxもシロアリでもありません。
Preztoアドオン(または同様)をインストールしました。録音の目的「GNU Makeの出力を変調すること」です。アドインの上部には次のように書かれています。
# #出力を強調表示します。 # #作家: #ソリニオネスク<[Eメール保護]> #
ご覧のとおり、実行すると
テストを行う実際のプログラムを実行していませんが、インストールしたアドインが
make
呼び出されました。make
これにより、というコマンドが実行されますcolormake
。
何をすべきですかcolormake
?これはmake
、端末装置ではなく標準出力および標準エラーで実行され、これをPerlプログラムに接続して、標準入力を一度に1行ずつ読み取って処理します。実際に見えるすべての効果を再現でき、POSIX互換シェルから、同じことを行います:
/usr/bin/make test2>&1 |これはZシェルとは関係がなく、
make
そのコマンドを置き換えるプラグインをインストールしたという事実に関連しています。
colormake.pl
彩色やコメント検出などをせずに、ラインの動作を一度目撃し、POSIX互換シェルからランニング:
/usr/bin/make test 2>&1 | perl -e 'while(<>) { 印刷 $_ }'
したがって、インストールされているアドインを削除または無効にします。
Preztoはdiff
コマンドも置き換えます。