Zsh 대 Bash zsh와 bash의 간단한 차이점
4493 단어 bashshellproductivityzsh
따라서 이 두 쉘을 특정 기준으로 비교하고 차이점을 찾아봅시다.
성능
쉘의 성능을 벤치마킹하는 유용한 수단 중 하나입니다. 이를 평가하기 위해 약간의 로드를 생성하고 셸이 얼마나 빨리 응답하는지 확인합니다.
다음 명령:
time shell_name -c 'for i in $(seq 1 1000000);do [ 1 = 1 ];done'
위 명령에서 shell_name을 zsh 및 bash로 바꿉니다.
#!/bin/bash
# Script name: test.sh
for i in `seq 1 100`
do
for var in $*
do
echo "command line contains: $var"
done
done
두 셸에서 다음 명령을 실행하여 각 셸에서 스크립트 실행 시간을 확인합니다.
time shell_name ./test.sh "some_long_sentance"
위 명령에서 shell_name을 zsh/bash 및 일부 긴 문장으로 바꿉니다.
왼쪽 및 오른쪽 출력은 각각 zsh 및 bash용입니다.
위 스니펫의 결과는 zsh가 bash보다 빠르다는 것을 보여줍니다. 결과의 용어는 다음을 의미합니다.
real은 통화 시작부터 끝까지의 시간입니다.
user는 프로세스 내에서 사용자 모드에서 소비된 CPU 시간의 양입니다.
sys는 프로세스 내의 커널에서 소요된 CPU 시간의 양입니다.
구성 파일
Bash는 비로그인 대화형 쉘에서 .bashrc 파일을 읽고 로그인 쉘에서 .bash_profile을 읽습니다.
Zsh는 대화형 쉘에서 .zshrc를 읽고 로그인 쉘에서 .zprofile을 읽습니다.
대화형 셸은 사용자의 입력을 유도하고 원하는 출력을 반환하는 간단한 셸입니다.
로그인 셸은 세션에 로그인할 때 사용자 ID로 실행되는 첫 번째 프로세스입니다.
키 바인딩
줄 끝으로 이동하기 위해 Ctrl+E를 누르는 것과 같이 명령줄에 명령을 입력하는 동안 수행되는 모든 키보드 작업을 키 바인딩이라고 합니다. 완전히 다른 구문을 사용합니다.
Bash는 .inputrc and bind builtIn을 사용하여 키를 readline 명령에 바인딩합니다.
Zsh는 bindkey builtIn을 사용하여 키를 zle widgets에 바인딩합니다.
즉각적인
Bash는\a와 같은 백슬래시 이스케이프를 포함하는 PS1에서 프롬프트를 설정하는 반면 zsh는 %d와 같은 퍼센트 이스케이프를 포함합니다. bash PROMT_COMMAND의 기능은 precmd를 통해 zsh에서 사용할 수 있습니다.
Zsh는 멋진 사용자 정의를 수행하는 방법도 제공합니다.
완성
두 셸 모두 명령 완성 및 팬시 모드로의 전환과 같은 기능을 제공합니다. bash에서는 bash_completion을 포함하여 수행되는 반면 zsh는 compinit를 실행하여 이를 달성합니다.
zsh에 대한 추가 정보Completion System .
스크립팅 차이점
변수
$var
가 있다고 가정하면 두 셸 모두 다음 값을 갖습니다.var는 공백 문자에서 분할하고 각 공백에 대해-
와일드카드 문자를 포함하고 일치하는 경우 분리된 부분
기존 파일은 패턴을 일치 목록으로 바꿉니다. 그냥 얻으려면
우리가 필요로 하는
var
의 값 $var
zsh의 길이는 1입니다.
shopt -s
extglob
로 활성화할 수 있는 추가 와일드카드 패턴이 있습니다. zsh에서 setopt ksh_glob
를 사용하여 동일한 작업을 수행할 수 있습니다.또는
setopt extended_glob
기본 구문을 입력하기가 더 간단합니다. bash가 제공하지 않는 Glob Qualifiers 및 widcard patterns과 같은 멋진 zsh 기능이 있습니다. 웹에는 많은 zsh 구성 프레임워크가 있습니다. 몇 가지 강력한 기능을 시작하는 편리한 방법이 될 수 있습니다.
Reference
이 문제에 관하여(Zsh 대 Bash zsh와 bash의 간단한 차이점), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/jasmin/a-brief-difference-between-zsh-and-bash-5ebp텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)