How IT

언제든지 물어보세요.

컨텐츠로 건너뛰기
  • 홈
  • Unix
  • Apple
  • Java
  • Android
  • C#
  • C++

** 비 로그인 ** 셸을 통해 ** 로그인 ** 셸을 사용해야하는 이유는 무엇입니까? a로 소비 될

* nix 시스템 의 도트 파일 에 대한 기본 지식이 있습니다. 그러나 여전히 로그인 셸과 비 로그인 셸의 차이점 에 대해 상당히 혼란 스럽 습니까?

여러 개의 중복 된 답변을 포함하여 여러 가지 답변이 이미 다음 글 머리 기호를 해결했습니다.

  • 로그인 또는 비 로그인 쉘 을 호출 하는 방법
  • 로그인 또는 비 로그인 셸 을 감지 하는 방법
  • 무엇 시작 파일 것은 a로 소비 될 것이다 로그인 또는 비 로그인 쉘
  • man bash자세한 내용은 설명서 (예 :)를 참조하십시오.

대답이 말하지 않은 것 (그리고 여전히 혼란스러워하는 것)은 다음과 같습니다.

  • 이란 무엇입니까 유스 케이스 (A)의 로그인 또는 비 로그인 쉘은? (예를 들면, 나는 단지 구성 zshrc을 위해 zsh그리고 대부분의 개인 dev에 요구 사항에 대한 충분하다, 나는 그것이 무엇을 같이 간단하지 알고 vimrc에 vim)

  • 로그인 하지 않은 쉘을 통해 로그인 을 사용해야하는 이유 는 무엇입니까 (다른 시작 파일과 수명주기를 소비하는 것 외에)?



답변

아이디어는 사용자에게 호스트 당 하나의 로그인 쉘이 있어야한다는 것입니다. (아마도 터미널 당 호스트 당 하나의 로그인 셸을 말해야합니다. 여러 터미널을 통해 동시에 호스트에 로그인 한 경우 여러 개의 로그인 셸이있을 것으로 예상됩니다.) 일반적으로 (항상?)이 첫 번째 셸입니다. 로그인 할 때 (따라서 이름). 따라서이 체계를 사용하면 로그인 당 한 번만 수행하려는 작업과 새 (대화식) 셸을 시작할 때마다 수행 할 작업을 지정할 수 있습니다.

일반적으로 로그인 후 실행하는 다른 모든 쉘은 로그인 쉘의 하위 항목 (자식의 자식의 하위 항목)이므로 로그인 쉘의 많은 설정 (환경 변수 umask등)을 상속 합니다. 따라서 로그인 초기화 파일 ( .login, .profile등)은 상속 가능한 설정을 설정하고 내 보내지 않은 셸 변수 .bashrc( set,, shopt등)

또 다른 개념은 로그인 초기화 파일 (및 파일 만)이 “무거운 작업”, 즉 리소스 집약적 인 작업을 수행해야한다는 것입니다. 예를 들어, 로그인 할 때마다 특정 프로세스가 백그라운드에서 실행되도록 할 수 있습니다 (단 하나의 사본 (인스턴스) 만). 로그인 할 때 새로운 대화식 쉘을 시작할 때마다 일부 상태 정보 (예 : df또는 who)가 표시되도록 할 수 있습니다. 특히 대화식 이있는 경우로그인 할 때마다 실행하려는 프로그램 / 대화 상자 (즉, 입력이 필요한 프로그램)는 새 셸을 시작할 때마다 실행하지 않으려는 경우가 있습니다. 극단적 인 예를 들어, 20 년 전에 Solaris는 그래픽이 아닌 단일 윈도우가 아닌 쉘에 로그인했습니다. (그 이후로 변경되었다고 생각합니다.) 와 같은 명령을 사용하여 윈도우 시스템을 시작하는 것이 .login또는 .profile(또는 무엇이든) 일이었습니다 startx. (이는 여러 개의 윈도우 시스템을 사용할 수 있었기 때문에 부분적으로 유용했습니다. 사용자마다 다른 환경 설정을 사용했습니다. 일부 사용자는 다른 상황에서 다른 .profile시스템을 사용했으며 “오늘 윈도우 시스템을 사용 하시겠습니까?” 라는 대화 상자가있었습니다. ) 분명히, 당신은 새 창을 열거 나 입력 할 때마다 실행을 원하지 않을 것입니다sh.

bash
엣지 케이스를 제외하고는 다른 것을 사용한 지 오래되었습니다 . (예를 들어, #!/bin/sh일부 시스템에서는 스크립트가로 실행 dash되고 다른 스크립트 bash는 POSIX 모드로 실행되는 스크립트를 작성 합니다. 일 년에 몇 번 csh/ tcsh몇 분 동안 실행 하여 무언가를 처리하는 방법을 보거나 질문에 답하십시오.) 매일 여러 개의 쉘 (예 : bash및 zsh)을 사용하는 경우 패턴이 다를 수 있습니다. 기본 쉘 (에 정의 된대로 /etc/passwd)이 bash인 경우 zsh로그인 쉘 을 호출 한 다음 그에 zsh종속 된 일부 대화식 비 로그인 쉘 을 호출 할 수 있습니다 . 동일한 유형의 다른 로그인 쉘에 종속 된 로그인 쉘을 사용하지 않아야합니다.

Login Shell과 Non-Login Shell의 차이점 에서 언급했듯이 ? OS X 터미널 응용 프로그램은 로그인 셸을 실행하므로 일반 사용자는 일반적으로 여러 “로그인 셸”을 동시에 실행합니다. 이것은 내가 전술 한 것과 다소 다른 모델이며, 그가에서 무엇을 재고하도록 사용자에게 요구할 수 있습니다 자신의 .login또는.profile(또는 무엇이든) 파일. OS X 개발자가이 디자인 결정에 대한 근거를 문서화했는지 여부를 모르겠습니다. 그러나 이것이 유용한 상황을 상상할 수 있습니다. 내가 로그인 할 때 습관적으로 소수의 쉘 창을 열었던 때가 있었고, ANSI 이스케이프 시퀀스를 화면에 작성하여 다른 텍스트 및 배경색으로 설정하여 어느 것이 어느 것인지 추적하는 데 도움이되었습니다. 터미널 색상은 어린이의 자녀가 물려받지 않지만 창 내에서 유지되는 무언가의 예입니다. 따라서 이것은 새로운 터미널 창을 시작할 때마다하고 싶지만 새로운 대화식 쉘을 시작할 때마다하지 않는 일종의 작업입니다.


답변


이 글은 Unix 카테고리에 분류되었고 login, shell, terminology, unix-philosophy 태그가 있으며 소장 마님에 의해 2022-03-21에 작성되었습니다.

글 네비게이션

← 회문 반전 추가 . 이에 Android 용 Visual Studio 에뮬레이터 오류 발생 [정보] 장치 시작 대기 →

태그

  • android
  • apt
  • bash
  • boot
  • c#
  • c++
  • code-golf
  • command-line
  • debian
  • firefox
  • git
  • google-chrome
  • hard-drive
  • html
  • java
  • keyboard
  • linux
  • mac
  • macos
  • math
  • memory
  • microsoft-excel
  • mysql
  • networking
  • performance
  • permissions
  • python
  • r
  • regression
  • security
  • shell
  • sql-server
  • ssh
  • string
  • terminal
  • ubuntu
  • unity
  • usb
  • vim
  • virtualbox
  • windows
  • windows-7
  • windows-8
  • windows-10
  • windows-xp

최신 글

  • Windows에서 파티션 크기를 조정 한 후 APFS 파티션이 손실 됨 00 80
  • App Store에서 El Capitan을 강제로 다시 다운로드 하시겠습니까? 업데이트 된 플래시 드라이브 설치 프로그램을 빌드하기
  • 기존 시스템에 부팅 드라이브로 SSD 추가 백업에 큰 관심이 없습니다. 내가 걱정하는 것은이
  • geoJSON featureCollection에 properties 요소를 갖는 것이 유효합니까?
  • 추세를 식별하기 위해 신호 처리 원리를 신중하게 사용 매우 시끄러운 장기 데이터에서 추세를

카테고리

  • Android
  • Apple
  • C#
  • C++
  • cooking
  • cs
  • cstheory
  • diy
  • drupal
  • electronics
  • emacs
  • Gis
  • Git
  • Html
  • Java
  • Javascript
  • magento
  • photo
  • Python
  • raspberrypi
  • scicomp
  • Server
  • Software
  • Sql
  • stats
  • Superuser
  • ubuntu
  • Unix
  • vi
  • webapps
  • webmasters
  • wordpress
  • 게임개발
  • 코딩
Proudly powered by WordPress
Exit mobile version