-x를 사용하여 쉘 스크립트를 실행하여 시스템 v 시작 디버깅

-x를 사용하여 쉘 스크립트를 실행하여 시스템 v 시작 디버깅

부팅 프로세스의 사용자 공간 부분을 디버깅해야 하며 sh -x부팅 프로세스 중에 무슨 일이 일어나는지 관찰할 수 있도록 모든 스크립트가 기본적으로 실행되기를 원합니다.

busybox에서 제공하는 임베디드 시스템입니다 sh. /bin/sh은 에 대한 링크입니다 buysbox.

sh에서 까지 인터프리터를 시스템적으로 변경할 수 있습니까 sh -x?

답변1

내 시스템에는 대시에 대한 링크가 있으므로 /bin/sh해당 링크를 명령줄 인수를 실행하고 전달하는 프로그램으로 대체할 수 있습니다./bin/dash -x

/bin/sh귀하의 파일이 바이너리 파일인 경우 . 그런 다음 에 복사하여 /bin/sh.org위와 동일한 작업을 수행합니다. 단 /bin/sh.org -x, dash.

이러한 변경을 수행하려면 루트여야 합니다.

/bin/sh링크인 경우 busybox위의 작업을 계속 수행할 수 있습니다. 이동 busybox하여 busybox.org바이너리를 생성하여 busybox호출되었는지 확인합니다 sh(본질적으로 원래 비지박스가 다양한 ID를 얻기 위해 수행한 작업입니다). 그렇다면 -x명령줄 인수의 나머지 부분 앞에 삽입하고 호출하세요. busybox그렇지 않은 경우(즉, 로 호출되지 않는 경우 sh) 명령줄 인수를 사용하여 busybox를 호출하세요.

그러나 이 시점에서는 busybox의 소스 코드를 다운로드하고 소스를 항상 호출, 컴파일 및 설치(원래 busybox 바이너리 백업)로 가정하도록 변경하는 것이 -x더 쉬울 수 있습니다 sh.

관련 정보