これら2つのコマンドの違いは何ですか?
cat /proc/uptime | awk '{print $1}'
< /proc/uptime awk '{print $1}'
具体的には、2番目のコマンドはどのように機能しますか?リダイレクト演算子に<
コマンドを含める必要はありませんか?このようにファイルの内容をリダイレクトすることはどういう意味ですか?
答え1
通常foo < bar
、< bar foo
bashスクリプトでは同じです。シェルによって処理されるたびに、< filename
それは関連コマンドの標準入力がこのファイルから出ることを意味します。追加のコマンドや手順は含まれません。シェル自体が行います。
Runはcat filename
指定されたファイルの内容を読み取り、それを標準出力に書き込みます。|
2つのコマンドの間は、左コマンドの標準出力を右コマンドの標準入力に接続することを意味します。
したがって、これら2つのコマンドはawkにコンテンツを送信するのと同じ効果がありますが/proc/uptime
、最初の方法はcat
これを行うために追加のプロセスを開始します。