0

3 つのスクリプトを実行するスクリプトがあります。これらの 3 つのスクリプトは、システムから取得する date and time というフォルダーに配置する必要があります。

例えば

  1. A.sh、B.sh、C.sh という 3 つのスクリプトがあります。これら 3 つのスクリプトは、1 つのスクリプトから実行されます。
  2. 各スクリプトの出力は異なります。
  3. これら 3 つの出力は、date_and_time という単一のディレクトリにある必要があります。
  4. 出力がどのようになるかを小さな画像で示しますhttp://photouploads.com/images/example.png

誰でもこの問題を解決する方法を教えてもらえますか

4

3 に答える 3

0

タイムスタンプ付きの出力ディレクトリが必要な場合は、これが出発点として適している可能性があります。

#!/bin/sh

TIMESTAMP=`date +"%Y-%m-%d-%H:%M:%S"`

OUTPUT="$TIMESTAMP.d"

mkdir -p "$OUTPUT"

A.sh > "$OUTPUT/A.out"
B.sh > "$OUTPUT/B.out"
C.sh > "$OUTPUT/C.out"

echo "Lorem ipsum dolor sit amet..." > "$OUTPUT"/Text.txt

# Let our users know where to find the output...
echo "Output directory: $OUTPUT"

基本的に、このスクリプトはdateコマンドを使用して現在の日付と時刻をより標準化された形式で取得し、同じ名前の出力ディレクトリを作成します。

警告:同じコンピュータークロック秒内にこのスクリプトを2回実行すると、2回目の実行の出力が最初の実行を上書きします。この特定のコーナーケースの取り扱いは、読者の練習問題として残しておきます...

于 2012-06-22T12:57:15.420 に答える
0

次のようなサブシェルを使用することもできます。

#!/bin/bash
DIRNAME=$(date +"%Y%m%d-%H%M%S")
( $DIRNAME/A.sh ; $DIRNAME/B.sh ; $DIRNAME/C.sh ) > $DIRNAME/Text.txt
于 2012-06-22T12:21:32.737 に答える
0

次のようにsmthを使用できます:(実行中のスクリプトの内容、たとえばrun3.sh

#!/bin/bash
A.sh > date_and_time/A.output &
B.sh > date_and_time/B.output &
C.sh > date_and_time/C.output &
于 2012-06-22T11:57:52.903 に答える