0

UNIX の 2 つのコマンドの出力を「log.txt」というファイルに送信しようとしています。

今私は試しています:

# date ; quota -v myName > log.txt

目的は、log.txt ファイルを次のようにすることです。

Mon Sep 11 14:13:34 PDT 2006
Disk Quota for ....
...
...

最初の行は date コマンドを表し、残りは quota コマンドを表します。

これらの両方のコマンドの出力を、互いにオーバーライドせずに同じ log.txt ファイルに送信する方法はありますか?

4

2 に答える 2

3

括弧を使用して、標準出力のリダイレクト用のコマンドをグループ化します。

(date ; quota -v myName) > log.txt

例えば:

# (date; echo "hi") > foo
# cat foo
Sat Feb  9 23:09:15 PST 2013
hi

>>大きなスクリプトに多くのコマンドを入れたい場合は、Louisの答えの方がうまくいきます。最初のコマンドは>、ファイルの既存の内容を切り捨てるために使用する必要があります。他のすべてのコマンドは>>、ファイルに追加するために使用します。

于 2013-02-10T07:09:32.287 に答える
1

追加したい場合は、>>を使用します。

date >> log.txt && quota -v myName >> log.txt
于 2013-02-10T07:07:35.577 に答える