子プロセスのスクリプトファイルの参照変数

子プロセスのスクリプトファイルの参照変数

持っているa.sh

#!/bin/bash

foo=':bar baz:'
declare varvar=aaaaaa
export xyz=abc

echo "$foo ok"
hoge=huga env piyo=alice bash -i

実行./a.sh|はカーソル、>プロンプト):

:bar baz: ok
> |

入力があります:

echo "foo: '$foo'"
echo "varvar: '$varvar'"
echo "xyz: '$xyz'"
echo "hoge: '$hoge'"
echo "piyo: '$piyo'"

予想出力:

> echo "foo: '$foo'"
foo: ':bar baz:'
> echo "varvar: '$varvar'"
varvar: 'aaaaaa'
> echo "xyz: '$xyz'"
xyz: 'abc'
> echo "hoge: '$hoge'"
hoge: 'huga'
> echo "piyo: '$piyo'"
piyo: 'alice'
> |

実際の出力:

> echo "foo: '$foo'"
foo: ''
> echo "varvar: '$varvar'"
varvar: ''
> echo "xyz: '$xyz'"
xyz: 'abc'
> echo "hoge: '$hoge'"
hoge: 'huga'
> echo "piyo: '$piyo'"
piyo: 'alice'
> |

$fooそれを取得して$varvar正しく表示する方法は?

答え1

問題を解決してくださいa.sh

#!/bin/bash

set -a
foo=':bar baz:'
declare varvar=aaaaaa
export xyz=abc

echo "$foo ok"
hoge=huga env piyo=alice bash -i

すべての変数をエクスポートできます。

関連情報