1
回答に質問ありましたhereを読んでいます。私は最初とセミコロンで空きスペースが必要とされているのはなぜかっこでLinuxコマンドを入力する方法は?
{ time somecommand ; } &> file.txt
でtime
コマンドの出力をリダイレクトしたい場合は?私はちょうど
(time somecommand) &> file.txt
回答に質問ありましたhereを読んでいます。私は最初とセミコロンで空きスペースが必要とされているのはなぜかっこでLinuxコマンドを入力する方法は?
{ time somecommand ; } &> file.txt
でtime
コマンドの出力をリダイレクトしたい場合は?私はちょうど
(time somecommand) &> file.txt
を使用し、私は(時間somecommand)&> file.txtをを使用した場合に差がある場合と違いはありますか?
違いはサブシェルで実行される(...)
のコマンドですが、それは別のプロセスです。一方、{...}
のコマンドはと同じシェルで実行されます。 bash manualから:あなたはそれを試してみて、見つけるていないのはなぜ
{ list; } list is simply executed in the current shell environment. list must be terminated with a newline or semicolon. This is known as a group command. The return status is the exit status of list. Note that unlike the metacharacters (and), { and } are reserved words and must occur where a reserved word is permitted to be recognized. Since they do not cause a word break, they must be separated from list by whitespace or another shell metacharacter.
ありがとう、非常に役立つ! – Pepe
:複合コマンド内のスペースについては
、それはbashの文法で必要とされるのですか?あなたは質問に尋ねるのに十分な好奇心を持っていますが、それに答えるつもりはありませんか? – jonrsharpe
この有益なコメントをありがとう...もちろん、私はそれを試しました。しかし、もし私がその空間を無視するなら、それはうまくいかず、それについてもっと学びたいと思っています。私はこれがなぜであるのか理解したいと思います。また、さまざまな可能性の違いを知りたいと思います。そして、私は2つのコマンドの違いに気づくことができなかったので、ただ1つではないことを意味するわけではありません。 – Pepe
だから*そのことを言いなさい。あなたの働きを見せてください。あなたは何を試しましたか、あなたは何を読みましたか...? – jonrsharpe