nologin
, false
, , 와 같은 쉘이 있다는 것을 발견했습니다 true
. 또 뭐야?
쉘을 나열하는 데 올바른 키워드가 무엇인지 모르겠습니다. 키워드로 검색할 때마다 linux shell types
, , , 기타 키워드의 차이점을 설명하는 맥락에서 결과가 나옵니다.bash
csh
zsh
이 주제에 대한 추가 정보를 찾는 데 사용할 올바른 키워드는 무엇입니까?
답변1
nologin, false 및 true는 쉘이 아니며 단지 로그인을 방지하는 방법일 뿐입니다. 그러면 콘텐츠가 sh
. 따라서 검색 /bin
등 을 하면 /usr/bin
설치된 대부분의 콘텐츠를 찾는 데 도움이 됩니다.
그러면 "쉘이란 무엇입니까?"라는 질문이 생깁니다. Python, purl, tcl 등이 쉘입니까? 아닐 수도 있지만 구분선은 어디에 있습니까? true
, false
및 do는 해석기가 아니므 로 nologin
(사용자 입력을 허용하지 않고 언어가 아님 등)정말라인의 쉘이 아닌쪽에.
그러나 로그인 셸은 셸이거나 대화형일 필요는 없습니다.
즐겨 사용하는 검색 엔진을 사용하여 인터넷에서 Unix 쉘을 검색할 수 있습니다.
답변2
쉘에 nologin, false, true 등이 있음을 발견했습니다. 또 뭐야?
이것들은 껍질이 아니기 때문에@ctrl-alt-delor는 이미 지적했습니다..
쉘을 나열하려면 무엇을 입력해야 할지 모르겠습니다.
존재하는 모든 쉘의 전체 목록을 얻을 수는 없습니다. 이는 기존의 모든 소프트웨어 목록을 요청하는 것과 같습니다.
Linux 쉘 유형(및 유사한 유형)을 사용하여 검색할 때마다 bash, csh, zsh 및 기타 쉘 유형 간의 차이점을 설명하는 맥락에서 결과를 얻습니다.
이게 진짜 편하기 때문에인기 쉘당신은 그것을 접할 가능성이 높습니다.
이 주제에 대해 더 자세히 알아보기 위해 어떤 키워드가 사용됩니까?
"쉘"은 때때로 "REPL”, “명령줄 해석기” 또는 “명령 언어 해석기”.
답변3
이것은 대답이 복잡한 질문입니다. 대부분의 사람들이 "쉘"이라고 부르는 것은읽기-평가-인쇄 루프따라서 Python 인터프리터도 Python을 대화형으로 실행하는 한 쉘입니다. 그러나 이는 nologin이 실제 쉘이 아니라는 것을 의미합니다! 그렇다면 껍질이란 무엇입니까?
기술적으로 모든 프로그램을 쉘로 사용할 수 있습니다. 사실, 특이한 껍질을 사용하는 저의 사진은 다음과 같습니다.
- 로그인 쉘로서의 Python 쉘
- 나노를 껍질처럼(풀스크린이라 정상적으로 실행되는지는 알 수 없지만)
- 고양이는 껍질처럼 달린다
- 최상위 레벨은 쉘로 실행됩니다.(다시 한 번 보면 그것이 껍질이라는 것을 알 수는 없지만)
- Hello World 프로그램도 있습니다!
그러나 이는 쉘로 실행될 것으로 예상되는 것이 아닙니다. 일반적으로 다음을 실행해야 합니다 /etc/shells
.
# /etc/shells: valid login shells
/bin/sh
/bin/bash
/bin/rbash
/bin/dash
/usr/bin/tmux
/usr/bin/screen
앞서 언급한 것처럼 껍질이 없습니다! 그렇다면 그들은 왜 달리고 있는 걸까요?
즉, 로컬에서만 가능합니다. shells
맨페이지를 보면 FTP 데몬과 같은 프로그램에서 주로 사용된다는 man shells
것을 알 수 있습니다 . /etc/shells
이것이 nologin
쉘이 표시되지 않는 이유입니다. 존재하지 않아 로그인 FTP 및 기타 로그인이 아닌 데몬을 차단하고 REPL이 아닌 /etc/shells
간단한 프로그램으로 로컬 로그인을 차단합니다 .printf("This account is currently not available");
따라서 귀하의 질문에 대답하자면 다음과 같습니다. 쉘 유형은 한 가지 뿐이며 실행 가능합니다. 프로그램을 실행할 수 있다면 그것은 쉘입니다.
답변4
당신이 원하는 무엇이든.
쉘은 단지 TTY 애플리케이션입니다. 따라서 TTY에서 실행될 수 있는 모든 것은 쉘이 될 수 있습니다.
색다른 쉘의 예로는 게시판 서비스가 있습니다. 사용자는 명령줄 대신 ssh 또는 telnet을 통해 로그인하고 BB를 얻습니다.