태그 보관물: shell

shell

tcsh와 bash 중 어느 쉘을 사용해야합니까? [닫은] 쉘 스크립트의 구문조차도 두 가지가

나는 tcsh오랫동안 오랫동안 사용 해왔다 . 그러나 무언가를 검색 할 때마다 지정된 방법이 bash구체적 이라는 것을 종종 알 수 있습니다. 쉘 스크립트의 구문조차도 두 가지가 다릅니다.

인터넷에서 검색과 학습을 경험 한 것에서 bash가장 많이 사용되는 쉘인 것 같습니다. 이 사이트에 태그 된 bash질문의 수조차 태그가 지정된 질문 수보다 훨씬 많습니다 (현재 5 배 이상) tcsh.

그래서 나는 bash로 전환 해야하는지 궁금합니다. 어떻게 생각해?

내가 왜 tcsh또는 왜 함께 이동해야 bash합니까?



답변

bash를 배우고 나면 tcsh가 약간 뒤로 향한 것으로 나타났습니다. 예를 들어 bash에서 쉽게 할 수있는 일은 tcsh에서 수행하기가 어렵다는 것을 알았습니다. tcsh에 대한 내 질문 . 인터넷 지원 및 문서도 bash의 경우 훨씬 우수하며 tcsh의 경우 매우 제한적입니다. bash에 관한 O’Reilly 책의 수는 많지만 tcsh와 비슷한 것을 발견하지 못했습니다.


답변

실제로, 당신은 위로 이동해야합니다 zsh! 본질적으로 이전 버전과 호환되며 굉장함을bash 크게 도와주는 모든 유틸리티를 제공합니다 . 도있다 (내가 그것을 읽고 주위를 확보하지 못했더라도).

나는 인정합니다 하나 사용하지 않는 이유는 zsh이상 bash하지만 지속적으로 여러 새로운 설치에서 작동하지 않는 한 정말 적용되지 않습니다. 특히 가장 큰 차이점 에 대해 알고 있다면 . 그러나 이것은 사이의 차이에 정말 가깝다 vimvi; 순진하고 싶지 않지만 실제로는 큰 문제가 아닙니다. 하드 코어 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를 고수할까요?