error_occurr 時間でラベル付けされた空のファイルを生成するエラーハンドラを作成したいと思います。
重要なアイデアは、date
コマンドの結果をパラメータとして使用することです。
私はそうしました:
time_stamp=$(date)
touch $time_stamp
2014
ただし、これにより、、Wed
などの一連の空のファイルが生成されます11:15:20
。
ここでtime_stampを文字列全体に変換するには?
答え1
cuonglmの答えは、一般的に空白のファイルを作成する問題を解決しますが、問題はdate
。
ファイル名の一部として日付または日付/時刻文字列を使用するには、常にこの--rfc-3339
オプション(最新のGNUシステムの場合)または適切なフォーマット文字列を使用する必要があります。これにより、論理的な方法でソートできるファイル名が提供されます。このオプションは、必要なファイル名の精度に応じて--rfc-3339
1つの引数を使用または使用します。seconds
ns
date
time_stamp="$(date --rfc-3339=seconds)"
touch "$time_stamp"
スペースなしで特定の文字列を取得することも、必要な情報のみを取得することもできますdate +FORMAT
(man date
詳細については)。
time_stamp="$(date +%Y%m%d-%H%M)"
touch "$time_stamp"
20141029-0944
スペースなしで同様の名前のファイルを提供し、引用が不要であるという錯覚を引き起こします。でも君はまだ電話するからこうするんだ分割+グローバル$IFS
デフォルト値が変更されたコンテキストで使用される場合、この演算子は実際に分割できます。
答え2
変数を二重引用符で囲む必要があります。
time_stamp="$(date)"
touch "$time_stamp"
この場合、二重引用符は"$(date)"
必須ではありませんが、そうすることをお勧めします。あなたは読むことができますこれより理解するために。