나는 tcsh
오랫동안 오랫동안 사용 해왔다 . 그러나 무언가를 검색 할 때마다 지정된 방법이 bash
구체적 이라는 것을 종종 알 수 있습니다. 쉘 스크립트의 구문조차도 두 가지가 다릅니다.
인터넷에서 검색과 학습을 경험 한 것에서 bash
가장 많이 사용되는 쉘인 것 같습니다. 이 사이트에 태그 된 bash
질문의 수조차 태그가 지정된 질문 수보다 훨씬 많습니다 (현재 5 배 이상) tcsh
.
그래서 나는 bash로 전환 해야하는지 궁금합니다. 어떻게 생각해?
내가 왜 tcsh
또는 왜 함께 이동해야 bash
합니까?
답변
bash를 배우고 나면 tcsh가 약간 뒤로 향한 것으로 나타났습니다. 예를 들어 bash에서 쉽게 할 수있는 일은 tcsh에서 수행하기가 어렵다는 것을 알았습니다. tcsh에 대한 내 질문 . 인터넷 지원 및 문서도 bash의 경우 훨씬 우수하며 tcsh의 경우 매우 제한적입니다. bash에 관한 O’Reilly 책의 수는 많지만 tcsh와 비슷한 것을 발견하지 못했습니다.
답변
실제로, 당신은 위로 이동해야합니다 zsh
! 본질적으로 이전 버전과 호환되며 굉장함을bash
크게 도와주는 모든 유틸리티를 제공합니다 . 도있다 책 (내가 그것을 읽고 주위를 확보하지 못했더라도).
나는 인정합니다 하나 사용하지 않는 이유는 zsh
이상 bash
하지만 지속적으로 여러 새로운 설치에서 작동하지 않는 한 정말 적용되지 않습니다. 특히 가장 큰 차이점 에 대해 알고 있다면 . 그러나 이것은 사이의 차이에 정말 가깝다 vim
과 vi
; 순진하고 싶지 않지만 실제로는 큰 문제가 아닙니다. 하드 코어 vim
사용자 조차도 길을 찾을 수 emacs
있으며 그 반대도 마찬가지입니다.
답변
bash, ksh, dash 중 하나와 같이 POSIX 호환 쉘 http://pubs.opengroup.org/onlinepubs/009695399/utilities/xcu_chap02.html로 전환해야 하지만 zsh는 아니고 반드시 tcsh는 아닙니다. csh가 스크립팅에 대한 좋지 않은 선택으로 선언 된 지 오래되었습니다. http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/ , tcsh는 그 영역에서 크게 다르지 않습니다.
스크립트를 작성할 때 이식성이없는 무언가에 다시 잠겨 있지 않으려면 POSIX 전용 구성을 사용해야합니다 (예 : bashism 등을 피하십시오).
답변
강박 관념은 요점을 놓치고 있다고 생각합니다. #!/bin/sh
맨 위에 넣고 .sh 확장자를 사용하여 모든 것을 호환하려고 시도 하지만 bash 이외의 것을 테스트 하지 않으면 호환되는 스크립트를 보장하지 않습니다! 단지 사용하는 것이 좋습니다 #!/bin/bash
및 .bash 사용자가 실제로 실제 요구 사항을 알 수 있도록.
zsh , tcsh 또는 bash 보다 나은 것을 알고 있고 이에 대한 좋은 참조 매뉴얼이있는 경우 기다리지 마십시오 . 사람들이 일부 스크립트를 실행할 수 있도록 perl 또는 python 을 설치할 것으로 예상되는 것처럼 , 모호한 셸 설치도 처리 할 수 있습니다! :디
답변
어느 껍질? “사용 편의성”대 “혼란”비율이 가장 높은 제품을 선택하십시오 …
“Maserati”셸에 대한 일반적인 예와 설명을 찾을 수 없다면 추가 성능이 보너스보다 문제가 될 수 있습니다 …
이 기사 / 사이트가 흥미로 웠습니다. : 그것은 가치가 읽기 될 수있다
UNIX 쉘의 차이와 쉘을 변경하는 방법
답변
zsh는 아마도 bash보다 tcsh와 더 유사 할 것입니다.
참조 : http://zsh.sourceforge.net/FAQ/zshfaq02.html#l13
사람들은 종종 zsh가 bash가 할 수없는 일을 할 수 있다고 주장하지만 그 경우가 아니라고 생각합니다. 내가 한 볼은 zsh을 것이 bash는이 애드온 스크립트 동안, 내장 또는 기본적으로 설정, 쉽게 설정되어야한다, 또는 더 어려운 것입니다.
(면책 조항 : 때로는 zsh로 전환하는 것을 고려한 bash 사용자입니다)
답변
몇 가지 이유로 20 년 전에 사용한 tcsh를 사용했습니다. 아시다시피 bash는 sh에서 시작되었지만 많은 csh 항목이 있지만 tcsh는 csh에서 시작되었습니다. 나는 초기에 명령 완료를 정말로 좋아하지만 대부분의 쉘에서 사용할 수 있습니다. 스크립팅을 위해 / bin / sh를 고수할까요?