nohup grunt server:debug >grunt.out 2>&1 <&- &
で終わるnohupコマンドがあります<&-
。この方向は何をするか。ポインタを使って説明できますか? Googleで例を検索しましたが、説明している例が見つかりません<&-
。これは本当に必要ですか?
答え1
代わりにマンページ(man bash
あなたの友達)を検索してみてください。これらの特殊文字はGoogleで見つけるのが難しいです。デフォルトでは、次の部分で終わります。
ファイル記述子のコピー
リダイレクト演算子
[n]<&word
入力ファイル記述子のコピーに使用されます。
word
1 つ以上の数字に展開すると、表示されるファイル記述子はn
そのファイル記述子のコピーになります。数値が入力word
用に開かれたファイル記述子を指定しないと、リダイレクトエラーが発生します。 wordがと評価されると、-
ファイル記述子がn
閉じます。指定しないと、n
標準入力(ファイル記述子0)が使用されます。
つまり、<&-
デフォルトでは閉じているので、stdin
実行中のプログラムはnohop
実際にそこから何も読み取ることができません。
答え2
おそらくこのリストは役に立ちます:
<&(Digit)Digitパラメータで指定されたファイル記述子から標準入力をコピーします。
>&(Digit)Digitパラメータで指定されたファイル記述子に標準出力をコピーします。
<&- 標準入力を閉じる
>&- 標準出力を閉じる