FreeBSD와 Debian에서는 어떤 쉘을 배워야 합니까?

FreeBSD와 Debian에서는 어떤 쉘을 배워야 합니까?

tcshFreeBSD의 공식 쉘은 이고 Debian의 공식 쉘은 이라는 기사를 많이 읽었습니다 dash. 그러나 제가 echo $shell(FreeBSD) 에 있거나 envDebian에 있을 때는 쉘이 csh첫 번째 경우 bash이거나 데비안.

새로 설치한 것입니다. 저는 루트 계정과 일반 사용자 계정으로 테스트했습니다. 또한 FreeBSD에서 새 계정을 만들 때 3개의 쉘 sh또는 . 선택하지 않으면 해당 항목이 계정의 기본값이 됩니다.cshtcshcsh

이러한 시스템의 공식 표준 쉘은 무엇입니까? 아니면 FreeBSD에 tcsh있습니까 ? csh데비안인가요 dash, bash데비안인가요?

내가 뭐 잘못 했어요? 아니면 이러한 기사와 웹사이트가 오해를 불러일으키는 것입니까?

Debian용 쉘과 FreeBSD용 쉘 두 개를 배우고 싶은데, 어느 것이 공식 쉘인지 확실하지 않아서 어떤 것을 배워야 할지 모르겠습니다.

또한 어떤 쉘을 배워야 하는지 검색하던 중 다음을 발견했습니다.http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ 단지 우리가 좋아하지 않는 사람일까요 csh, 아니면 정말 피해야 할까요 csh?

저는 최신 Debian 및 FreeBSD 버전을 사용하고 있습니다.

나는 이러한 모든 셸 옵션에서 길을 잃기 시작했습니다. 그들은 모두 나에게 동일해 보입니다(구문을 제외하고, 모두 동일한 가능성을 제공하는 것처럼 보입니다). 그래서 공식적인 것을 배우고 싶습니다.

답변1

특정 시스템의 기본 셸을 전혀 사용할 필요가 없습니다. Debian과 FreeBSD는 모두 다양한 셸을 제공하며 대부분 또는 모두 사전 설치되거나 쉽게 설치되어 사용할 수 있습니다.

네이밍에 주의하세요. /bin/csh실제 tcsh, /bin/shbash 또는 ksh는 드문 일이 아닙니다.

shBourne 쉘은 여전히 ​​일반적으로 사용되는 가장 오래된 Unix 쉘입니다. bash아마도 가장 널리 사용되는 sh 파생어 ksh이며 zsh또한 매우 일반적입니다.

cshC 쉘인 은 Bill Joy가 BSD용으로 개발했습니다. 여기에는 sh(또는 적어도 당시 존재했던 이전 버전보다 ) sh대화식 사용에 더 편리한 몇 가지 기능이 있었습니다 . tcsh에서 파생되었으며 csh많은 새로운 기능이 추가되었으며 대부분은 대화형 사용을 위한 것입니다. 읽어보시면 아시겠지만csh.whynot, csh 및 tcsh는 대화형이 아닌 스크립팅에 사용할 때 몇 가지 문제가 있습니다.

개인적으로 저는 csh로 시작했다가 tcsh를 사용할 수 있게 되면 tcsh로 전환합니다. 나는 요즘 스크립팅에 csh를 거의 사용하지 않고 sh나 bash(또는 상당히 복잡한 작업에는 Perl)를 선호합니다.

(몇 년 후 업데이트: 저는 tcsh를 포기하고 이제 대화식으로 bash를 사용합니다.)

내 조언은 쉘을 선택하고 FreeBSD와 Debian에서 사용하여 잘 배우라는 것입니다. tcsh를 선택했다면 Debian: 에 설치해야 할 것 같습니다 sudo apt-get install tcsh. bash를 선택하면 FreeBSD에 사전 설치되어 있는지 여부는 알 수 없습니다. 그렇지 않은 경우 설치도 똑같이 간단해야 합니다.

동일한 셸을 대화형 및 스크립팅에 사용할 필요는 없지만 혼란을 피하고 학습 곡선을 단축할 수 있습니다.

ksh는 아마도 bash만큼 강력할 것이고, zsh는 훨씬 더 강력할 것입니다(그리고 제가 배우는 데 시간을 들이지 않은 많은 기능을 가지고 있습니다).

대화형 사용과 스크립팅을 위해 FreeBSD와 Debian(및 사용 중인 다른 Unix 계열 시스템) 모두에 bash를 사용하는 것이 좋습니다. 그러나 다른 옵션도 완벽하게 합리적이며 일부는 귀하에게 더 나을 수도 있습니다.

관련 정보