複数のシェルスクリプトが「ソース」変数を​​変更すると、互いに干渉しますか?

複数のシェルスクリプトが「ソース」変数を​​変更すると、互いに干渉しますか?

並列に実行される複数の異なるスクリプトから同じシェルスクリプトを取得し、ソーススクリプトで定義されているシェル変数を変更すると、購入スクリプトは互いの変数値を混同しますか?

例:

  • source.sh
    #!/bin/bash
    
    some_value=$1+10
    
  • file-1.sh
    #!/bin/bash
    
    source ./source.sh 5
    ./some-script $some_value
    
  • file-2.sh
    #!/bin/bash
    
    source ./source.sh 10
    ./some-script.sh $some_value
    

ベストアンサー1

$some_valueこれを定義するプロセスと同じくらい多くの環境変数またはシェル変数があります。

その後、同時に実行するとfile-1.shプロセスfile-2.shが異なるため、値が異なります。これはsourceプロセスを生成せず、ソーススクリプトをプロセス環境でfile-1.sh使用できますfile-2.sh

おすすめ記事