~/.profile을 읽지 않고 sh를 실행하는 방법은 무엇입니까?

~/.profile을 읽지 않고 sh를 실행하는 방법은 무엇입니까?

예를 들어 , 쉘 초기화 파일을 읽지 못하도록 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

관련 정보