私はbashで何か奇妙なことに気付きました。 のは、私は、次を含むファイルトトを持っているとしましょう:サブシェルのソースが期待どおりに動作しない
#!/bin/bash
export foo=2
私はsource toto; echo foo=$foo
を実行する場合、私はbash -c "source toto; echo foo=$foo"
を実行する場合、私は、しかし= 2
期待
FOOとして取得し、私は得る
foo =
同じこと私は私が入っているファイルtest.sh作成する場合は、まだ
bash << EOF source toto echo foo=$foo EOF
を実行する場合:
#!/bin/bash echo foo=$foo
をそして、私は
期待を取得bash -c "source toto; ./test.sh"
を実行し、私は最終的にfoo = 2
誰かがこれらの結果を理解していますか? ありがとう!
がそれを手に入れた参照してください!ありがとう! – user2466062