2011-05-07 2 views
2

사용자 정의가 많고 테스트 환경을 원시 환경에서 실행하고 싶습니다. 확실히 작은 쉘 스크립트를 사용하여 인수를 전달하고 전달할 수 있지만 특정 하위 디렉토리에있는 명령에만 사전 스크립트 및 포스트 스크립트를 호출 할 수 있으면 유용하고 유용 할 것입니다. 내가 사용하고있는 쉘은 zsh이다.쉘 스크립트의 하위 디렉터리 아래에있는 임의의 명령을 래핑하는 방법이 있습니까

답변

1

"원시 환경"에 어떤 내용을 포함할지 모르겠습니다.

전체 시스템에서 자신을 분리하고 싶다면 chroot을 사용하면됩니다. /etc, /bin 등으로 완전히 새로운 시스템을 설정할 수 있지만 커널, 네트워킹 및 기타 비 파일 시스템을 실행중인 시스템과 공유 할 수 있습니다. 루트 협력이 필요합니다 (chroot 시스템 호출은 루트에 예약되어 있습니다).

당신이 당신의 점 파일에서 자신을 분리 HOME 환경 변수에 대해 다른 값으로 프로그램을 실행하려면 다음이 zsh을의 구성 파일에 대해 특별히 경우

HOME=~/test-environment /path/to/test-program 
HOME=~/test-environment zsh 

, 당신은 ZDOTDIR 환경을 설정할 수 있습니다 변수를 사용하여 시작하기 전에 zsh에 $HOME이 아닌 디렉토리 (또는 도트 파일을로드하지 않으려면 zsh --no-rcs)에서 자체 도트 파일을 실행하도록 지시하십시오.

0

깨끗한 환경 완전히 제어 된 환경 변수 집합을 의미하는 경우 env 프로그램이이 작업을 수행합니다.

env -i PATH=$PATH HOME=$HOME program args 

로 지정한 경우에만 환경 변수를 program args를 실행합니다.

관련 문제