環境変数でローカル変数をオーバーライドする方法

環境変数でローカル変数をオーバーライドする方法

値が割り当てられている本番環境でスクリプトを実行していますが、こことは異なる値を使用したいと思います。

myscript.sh

a=20181214

....

export a=20181212私はこのスクリプトを使用したいので、このスクリプトを呼び出してからこのスクリプトを呼び出します20181212。ただし、値を選択するたびに20181214

ベストアンサー1

スクリプトを編集できる場合は、表示されるように修正してください。

a=${a:-20181214}

これにより、以前に設定された値が使用されますa。または空の場合、または変数が設定されていない20181214場合。$aこれは標準パラメータ拡張

その後利用できます

export a=20181212
./script.sh

または

a=20181212 ./script.sh

後者は呼び出し環境で変数を設定せず、スクリプト環境に対してのみ設定します。

もしあなたならできないa何をしても、スクリプトが常に値を上書きするようにスクリプトを変更してください。この場合、スクリプトを管理している人に連絡して状況を説明してください。最悪の場合は、使用しているスクリプトのコピーを使用してください。できるスクリプトが特定の場所にあることを望まないと仮定して編集します。

おすすめ記事