作成した新しいファイルの名前をすぐに変更するにはどうすればよいですか?

作成した新しいファイルの名前をすぐに変更するにはどうすればよいですか?

次のコマンドを使用すると、solcjs --bin test.sol次の名前のファイルが生成されますbyonotary_sol_BYONotary.bin

このファイル名を変数にすぐに保存するにはどうすればよいですか?solcjs --bin test.sol新しく作成されたファイル名を同じコード行の変数に実行して保存したいと思います。

ありがとうございます。

答え1

ファイル名が次のようになるためファイルの契約に基づいて作成された、必要な「新しい」ファイルが何であるかを簡単に確認できるように、出力用の一時ディレクトリを作成することをお勧めします。

d=$(mktemp -d -p .)
solcjs --bin --output-dir "$d" test.sol && set -- "$d"/*.bin && newfile=$1

これは、現在の()ディレクトリに相対的なディレクトリをmktemp作成することを意味します。.その後、以前と同じように実行されますが、オプションがsolcjsあります--output-dir。同じ行(または読みやすく別の行)で*.bin新しいディレクトリにワイルドカードを拡張するようにシェルに要求します。おそらく一致する唯一のファイルは新しく作成されたファイルです。もちろん、*.binこのオプションの使用を中止する場合は調整してください。--bin

date +%s現在のタイムスタンプ(例:)を使用したり、次を使用するなど、さまざまな方法で一時ディレクトリ名を調整できます。mktemp金型特徴。

関連情報