では無効ですcsh
。とbash
でこれを使用する一般的な規則は何ですかzsh
?
答え1
Bashを使用すると、コマンドのないリダイレクトはリダイレクトを実行して閉じます。
< foo.txt
コマンドライン自体だけでファイルを開いてfoo.txt
閉じることができます。> foo.txt
書き込み用にファイルを開き、foo.txt
必要に応じてファイルを作成して切り取り、閉じます。ファイルを消去する簡単な方法。
zshを使用すると、リダイレクトNULLCMD
またはREADNULLCMD
。
READNULLCMD
(またはNULLCMD
「READNULLCMD」が設定されていない場合)標準入力リダイレクトの場合:% echo foo > foo.txt % READNULLCMD=nl % < foo.txt 1 foo
NULLCMD
標準出力リダイレクトの場合:% NULLCMD='ls' % > foo.txt # runs $NULLCMD % < foo.txt # runs $READNULLCMD, showing the output of `NULLCMD` run previously 1 Applications 2 Desktop 3 Documents 4 Downloads
バラよりZsh 7.3、コマンドレスリダイレクト詳細:
単純なコマンドが1つ以上のリダイレクト演算子と0つ以上のパラメータ割り当てで構成されていますが、コマンド名がない場合、zshはさまざまな方法で動作できます。
NULLCMD
このパラメーターが設定されていない場合、またはCSH_NULLCMD
このオプションが設定されているとエラーが発生します。これは掘削これは動作で、CSH_NULLCMD
シミュレーション時にデフォルトで設定されます。掘削。このオプションを設定すると、組み込みコマンドが
SH_NULLCMD
指定:
されたリダイレクトとともにコマンドとして挿入されます。シミュレーション時のデフォルト値です。シェンまたはケシ。それ以外の場合、このパラメーターが設定されている場合、
NULLCMD
その値は指定されたリダイレクトと共にコマンドとして使用されます。とがすべて設定されている場合、NULLCMD
リダイレクトREADNULLCMD
が入力されると、電子値の代わりに後者の値が使用されます。デフォルトはNULLCMD
"cat
"、デフォルトはREADNULLCMD
"more
"です。だから< file
標準出力にファイルの内容を表示するか、端末の場合はページングを表示します。シェル関数を参照することもできます
NULLCMD
。READNULLCMD