0

私は mysql からサイトマップを作成していますが、処理を高速化するために、関数をバックグラウンドに送りたいと考えています。そうすると、"$SITEMAP"変数は空に見えます。

私が試したことは、エクスポートを設定することですSITEMAP="$SITEMAP"

for ((i=0; i<CNT; i++)); do
    xml() {
        ...
        export SITEMAP="$SITEMAP"
    }
    xml &
    echo -e "$SITEMAP"
done

ps: 「xml」関数をバックグラウンドに送信しなくても、スクリプトは正しく機能します。

4

2 に答える 2

1

バックグラウンド シェルは別のプロセスであるためです。残りは、たとえばここで説明されています。

于 2013-03-05T16:16:09.357 に答える
1

電話すると

 xml &

別のプロセスを開始するとexport、後者の環境でのみ有効になります。

を削除する&と動作します

于 2013-03-05T16:17:54.950 に答える