예를 들어 , 쉘 초기화 파일을 읽지 못하도록 bash
플래그를 전달할 수 있습니다 .--norc --noprofile
무엇과 동일합니까 sh
?
그렇지 않다면 sh
적어도 1개는 있습니까 dash
?
(일시적으로 unprovisioning을 기반으로 해킹을 시도했지만 HOME
프로덕션 작업에는 너무 취약한 것 같습니다.)
답변1
sh
로드만.profile
로그인 쉘인 경우, 즉 0 으로 시작하는 인수를 사용하여 호출되는 경우입니다 -
. 따라서 읽혀 /etc/profile
지지 않으려면 ~/.profile
기본 인수 0(실행 파일 이름)을 사용하여 셸을 호출하세요.
누군가가 쉘을 로그인 쉘로 실행하는 경우 매개변수를 제어할 수 없습니다. 그렇지 않은 경우 쉘은 로그인 쉘이 아닙니다.
셸에 로그인할 때 셸이 로드하는 파일 외에도 일부 sh
구현에서는 다른 파일, 즉 환경 변수에 표시된 파일도 로드합니다 ENV
. 쉘을 호출하고 파일을 로드하지 않으려면 ENV
이 항목이 설정되어 있지 않은지 확인하십시오.
답변2
처럼 보이지 않습니다. 아래 링크에서 코드를 찾으실 수 있습니다. 이 동작을 제어할 플래그가 없는 것 같습니다.
http://git.kernel.org/cgit/utils/dash/dash.git/tree/src/main.c#n147