数値が現れたり現れなかったりする意)の形式を取ると、リダイレクトとして認識されます。コマンド展開が含まれているので、まずは展開の結果から見ていきましょう。>&2)ここにもリダイレクトが含まれています。場合:標準出力を閉じる(が、実際には標準出力のコピーなので何も起きない)ようになります。比較的有名とは思いますが、標準出力を標準エラー出力にリダイレクトします。入力として受け取り、標準エラー出力に出力する」となります。重要なのは、ここで展開されるコマンドはどうやっても標準出力に一切の出力がされないということです。なり、標準入力を標準入力にリダイレクトします。中身が標準エラー出力に出力されます。結果的にこちらの方がメインになりました。commandである限りはどこに現れようとリダイレクトの構文をなしている限りリダイレクトとして扱われます。worldコマンド評価順序ところでまだ解明されていない謎が残されています。時点で詰んでしまいます。いうわけで、徹底的に(?)調べました。Commandをどのように処理しているのか。マニュアルには以下のように記されています。Expansion簡単に訳すと変数代入とリダイレクトは一旦無視される。それ以外に単語が残っていれば、一連の展開(ブレース展開など)を行う。最初の単語をコマンド、残りを引数として認識。リダイレクトの処理がされる。変数代入は、代入前に右辺にある文字列の各種展開を済ませる。ところがどうやら、私がBashのソースコード解析をした限りでは変数代入の後にリダイレクト処理がされているようです。変数宣言の影響を受けるように作られているためです。標準エラー出力に現れるだけしたがって、3つの文字列の配置によって正しく動くかどうかが以下のように変わります。コメントをキャンセルメールアドレスが公開されることはありません。WordPress%d人のブロガーが「いいね」をつけました。