저는 저장소 설치를 처리하기 위해 bash 스크립트를 작성 중입니다. 주로 몇 가지 기본 종속성을 확인하고 git clone을 자주 호출합니다.
이 스크립트를 실행할 때 파일이 설치되어 있는지 확인하고 싶습니다.
git clone https://github.com/reticulatedpines/magiclantern_simplified.git
echo "Exit status: ($?)"
if [ $? -eq 0 ]; then
echo "Magic Lantern has been cloned into ${ML_PATH}."
else
exit 1
fi
문제는 저장소가 현재 작업 디렉토리에 복제된다는 것입니다. 이는 제가 원하는 것이 아닙니다. cd ~
홈 디렉토리로 돌아가려고 하면 실제로 루트 쉘로 보내질 것입니다.
root@debian:~# (repository installs here).
이것을 어떻게 피할 수 있습니까?
답변1
sudo -E <cmd>
-E "명령 실행 시 사용자 환경 유지"를 사용하여 sudo를 실행합니다.
사용자 환경을 보존하면 현재 위치에서 명령이 실행됩니다.