子シェルは親シェルの範囲内でパラメータを取得できますか?

子シェルは親シェルの範囲内でパラメータを取得できますか?

次のように、同じデータに対してさまざまなバージョンのユーティリティを実行したいと思います。

current_dir$ (cd my_utility_version_dir && exec ./my_util my_data_file)

my_util current_dirでmy_data_fileを見つける方法はありますか?

ベストアンサー1

走れば

(cd my_utility_version_dir && exec ./my_util "$OLDPWD/my_data_file")

それから

  1. my_util現在の作業ディレクトリ(.)は次のとおりです。my_utility_version_dir
  2. my_data_fileパスが与えられますより早いcd作業ディレクトリ - 終了したディレクトリです。

そこで見つけるかどうかはmy_util内部的にどのように機能するかによって異なりますが、パスを使用して許可するのが一般的です。

おすすめ記事