프로세스 상태를 표시하는 htop 또는 기타 명령에서 모든 bash 프로세스는 명령 표시줄에 있습니다.
/bin/bash
하지만 명령 모음에는 프로세스가 있습니다
-bash
무슨 뜻이에요?
답변1
명령 이름 앞의 빼기 기호는 로그인 프로그램이 로그인 쉘을 시작하기 위해 사용하는 규칙입니다. 로그인 프로그램은 login
, sudo -i
, su -
, sshd 등과 같이 일반적으로 비밀번호를 입력하고 세션을 시작하는 프로그램입니다. 로그인 쉘은 텍스트 모드 세션의 초기 쉘입니다.
관례적으로, 프로그램이 다른 프로그램을 호출하면 프로그램 이름을 인수 0으로 전달합니다. 명령줄 인수는 1부터 시작하여 번호가 매겨집니다. 예를 들어 를 실행하면 일반 시스템에 있는 실행 파일이 cp foo bar
실행되고 인수0, 인수1 및 인수2로 전달됩니다. 일반적인 규칙은 실행 파일의 기본 이름을 인수 0으로 사용하는 것입니다. 로그인 프로그램이 쉘을 호출하면 이 규칙을 위반하고 프로그램 이름 앞에 추가 하이픈을 추가합니다. 쉘은 이러한 대체 규칙을 이해하고 일반적으로 , , 등과 같은 초기화 파일을 읽는 쉘을 기반으로 로그인 쉘에 대해 이를 적절하게 설정합니다./bin/cp
cp
foo
bar
~/.profile
~/.login
~/.bash_profile
당신은 또한 볼 수 있습니다로그인 쉘과 비로그인 쉘의 차이점은 무엇입니까?