bashでのset -euxとset-aの組み合わせ

bashでのset -euxとset-aの組み合わせ

コマンドから継承するシェルスクリプトがあります

#!/usr/bin/env bash 
set -eux

一貫して実行する必要があるさまざまなシェルスクリプト間で変数共有を開始したいので、通常このコマンドを使用して.envの変数をエクスポートします。

set -a 
source .env
set +a

組み合わせの構文は適切ですか?

set -euxa
source .env
set +a

ベストアンサー1

このsetコマンドは、args で提供されるシェル属性を変更します。指定しない属性は変更されません。これは、1回の呼び出しで複数の属性を組み合わせて設定したり、複数のset呼び出しで同じ結果を得ることができることを意味しますset

この構文は次のとおりです。

set -e
set -u
set -x
set -a

あなたに同じ結果を与えるでしょう:

set -euxa

スタイルの観点から一時的に変更されるプロパティとは別に、スクリプトの実行時全体にわたって持続するプロパティを維持することをお勧めします。あなたのスクリプトには以下をお勧めします。

#!/usr/bin/env bash 
set -eux

set -a 
source .env
set +a

おすすめ記事