하위 쉘이 상위 쉘 범위 내에서 매개변수를 얻을 수 있습니까?

하위 쉘이 상위 쉘 범위 내에서 매개변수를 얻을 수 있습니까?

다음과 같이 동일한 데이터에 대해 다양한 버전의 유틸리티를 실행하고 싶습니다.

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내부적으로 어떻게 작동하는지에 따라 다르지만 경로를 사용하여 허용하는 것이 일반적입니다.

관련 정보