6

乱数を含むファイルの名前を変更するメイクファイルを作成しています(シェルスクリプトの初心者です)。理由はわかりませんが、ファイルを実行すると $rand に「ANDOM」という値が与えられます。これをメイクファイルの外で実行すると、機能します。

役に立つ場合に備えて、これを Mac OS ターミナルで実行します。

all: renamefiles

renamefiles:
    rand=$RANDOM && mv myfile.css $rand-myfile.css && mv myotherfile.css $rand-myotherfile.css
4

3 に答える 3

8
  1. 名前が変更されたファイルが日付順にリストされるように、日付/時刻スタンプを使用する方が簡単ではないでしょうか?

  2. シェルに表示させたいfor それぞれに 2 つの$記号を使用する必要があります。makefile$

したがって:

all: renamefiles

renamefiles:
    rand=$$RANDOM && \
    mv myfile.css      $$rand-myfile.css && \
    mv myotherfile.css $$rand-myotherfile.css

または、日付/時刻スタンプ付き:

all: renamefiles

renamefiles:
    time=$$(date +'%Y%m%d-%H%M%S') && \
    mv myfile.css      $$time-myfile.css && \
    mv myotherfile.css $$time-myotherfile.css
于 2013-01-19T00:41:34.147 に答える
0

たとえば、複数文字のマクロ名を中括弧 (または括弧) で囲む必要がある場合があります。

${RANDOM}
$(RANDOM)

参照

于 2013-01-18T22:54:55.070 に答える