Bash VS Zsh: Sự khác biệt và so sánh

Bash Vs Zsh Differences



Bash shell là shell mặc định cho Linux và nó được phát hành để thay thế cho Bourne Shell. Nhiều tác vụ tự động và giải pháp lập trình có thể được thực hiện bằng Bash một cách dễ dàng. Có nhiều trình bao khác có sẵn trong Linux để thực hiện cùng một loại công việc như Bash . Vỏ Z hoặc Zsh là một trong số chúng được phát minh sau khi Bash . Nó có nhiều tính năng giống như Bash nhưng một số tính năng của Zsh làm cho nó tốt hơn và cải tiến hơn Bash, chẳng hạn như sửa lỗi chính tả, tự động hóa cd, chủ đề tốt hơn và hỗ trợ plugin, v.v. Người dùng Linux không cần cài đặt Bash shell vì nó được cài đặt theo mặc định với bản phân phối Linux. Zsh hoặc Z shell không được cài đặt trong hệ thống theo mặc định. Người dùng cần cài đặt trình bao này để sử dụng nó. Một số tính năng phổ biến cho BashZsh nhưng có một số khác biệt chính giữa các vỏ này được mô tả trong bài viết này với lời giải thích thích hợp.

Sử dụng ‘ đĩa CD ' chỉ huy

Lệnh ‘cd’ được sử dụng trong cả Bash và Zsh shell để thay đổi thư mục hiện tại. Tính năng mà các thư mục được tìm kiếm đệ quy để tìm ra các tệp và thư mục được gọi là mở rộng đường dẫn đệ quy chỉ được hỗ trợ bởi zsh. Việc sử dụng lệnh ‘cd’ trong bash và zsh shell được hiển thị ở đây.







Bash

Bạn phải nhập đường dẫn đầy đủ của thư mục trong bash để thay đổi thư mục và việc mở rộng đường dẫn đệ quy không được bash hỗ trợ.



$đĩa CD mã số/ python



Zsh

Thư mục và tệp có thể được tìm kiếm dễ dàng trong trình bao này. Nếu bạn gõ cd + dấu cách + c + tab trong zsh shell, sau đó nó sẽ tìm kiếm bất kỳ tên tệp hoặc thư mục nào bắt đầu bằng 'NS 'Và nó sẽ hiển thị tên của tệp hoặc thư mục được tìm thấy đầu tiên.





% đĩa CDNS

Ví dụ, nếu mật mã thư mục được tìm thấy và nó sẽ hiển thị. Nếu bạn gõ lại '/P' sau đó nó sẽ hiển thị các tệp và tên thư mục bắt đầu bằng ‘ P '.

% đĩa CDP



Sửa chính tả

Trình kiểm tra chính tả là một tính năng rất hữu ích cho bất kỳ trình bao nào. Người dùng có thể dễ dàng sửa lỗi đánh máy bằng tính năng này. Tính năng này được hỗ trợ bởi cả hai BashZsh. Nhưng sửa lỗi chính tả có thể được thực hiện hiệu quả hơn trong Zsh vỏ bọc. Việc sử dụng tính năng này được hiển thị cho cả hai trình bao bên dưới.

Bash

Giả sử, bạn muốn đi đến thư mục ‘ Âm nhạc 'Nhưng bạn đã nhập' Mugic ' do nhầm lẫn, khi đó bash shell sẽ không phát hiện lỗi chính tả theo mặc định và nó sẽ hiển thị thông báo lỗi: Không có tập tin hoặc thư mục .

$đĩa CDMugic

Bạn phải bật trình kiểm tra chính tả để sửa loại vấn đề này. Mở ra ~ / .bashrc tệp trong bất kỳ trình chỉnh sửa nào để thêm dòng để bật trình kiểm tra chính tả. Đây, nano trình soạn thảo được sử dụng để chỉnh sửa tệp.

$nano~/.bashrc

Thêm dòng sau vào cuối tệp, lưu và đóng tệp.

cửa hàng -NScdspell

Bây giờ, chạy lệnh sau để xác nhận thay đổi vĩnh viễn.

$nguồn~/.bashrc

Nếu bạn chạy ở trên ‘ ĐĨA CD' lệnh có lỗi chính tả từ thiết bị đầu cuối, sau đó nó sẽ tự động sửa tên thư mục.

$đĩa CDMugic

Zsh

Trình kiểm tra chính tả cũng không được bật theo mặc định trong zsh shell. Vì vậy, nếu bạn chạy lệnh ‘echo’ như lệnh sau với lỗi chính tả thì nó sẽ hiển thị thông báo lỗi.

%ehco'Chào thế giới'

Mở ra ~ / .zshrc tệp trong bất kỳ trình chỉnh sửa nào và thêm các dòng sau vào cuối tệp. Dòng đầu tiên sẽ kích hoạt trình kiểm tra chính tả trong Zsh. Các giá trị tùy chọn mặc định của trình kiểm tra chính tả là, [meo meo] điều đó chỉ ra không, có, hủy bỏ và chỉnh sửa . Dòng thứ hai sẽ thay đổi các giá trị mặc định để làm cho các tùy chọn dễ hiểu hơn đối với người dùng. Ở đây, nano trình soạn thảo được sử dụng để chỉnh sửa tệp.

% nano~/.zshrc
setopt đúng
xuất khẩu SPROMPT='Sửa% R thành% r? [Có, Không, Hủy bỏ, Chỉnh sửa] '

Lưu và thoát khỏi tệp và chạy lệnh sau để cập nhật thay đổi.

% nguồn~/.zshrc

Một lần nữa chạy lệnh trước đó và kiểm tra kết quả đầu ra. Bây giờ, người dùng sẽ nhận được các tùy chọn để sửa đầu ra. Nếu bạn nhập y thì chính tả sẽ được sửa tự động.

%ehco'Chào thế giới'

Nếu bạn muốn làm cho đầu ra hiệu quả hơn bằng cách sử dụng màu sắc thì hãy chạy lệnh sau từ zsh shell để kích hoạt màu sắc.

%autoload U màu&&màu sắc

Sau đó, thêm dòng sau vào ~ / .zshrc hồ sơ như trước đây.

xuất khẩu SPROMPT='Chính xác$ fg[đỏ]% R$ reset_colorđến$ fg[xanh lục]% r$ reset_color?
[Có, Không, Hủy bỏ, Chỉnh sửa] '

Bây giờ, hãy chạy bất kỳ lệnh nào có lỗi chính tả và kiểm tra kết quả đầu ra. Ở đây, từ lỗi sẽ được hiển thị bằng màu đỏ và từ đúng sẽ được hiển thị bằng màu xanh lá cây.

%ehco'Chào thế giới'

Sử dụng các chủ đề

Giao diện của lời nhắc trình bao có thể được thay đổi bằng cách sử dụng các chủ đề và plugin khác nhau. Cả bash và zsh shell đều có nhiều loại chủ đề để thay đổi giao diện của shell. Cách sử dụng theme trong bash và zsh shell sẽ được trình bày trong phần tiếp theo của bài viết này.

Bash

Bạn phải cài đặt git để cài đặt bất kỳ chủ đề bash nào. Chạy lệnh sau để cài đặt gói git.

$sudo apt-get cài đặt đi

Sau khi cài đặt đi , chạy lệnh sau để tạo bản sao của Bash-it bản mẫu.

$git clone --chiều sâu=1https://github.com/Bash-it/bash-it.git ~/.bash_it

Chạy lệnh sau để cài đặt Bash-it mẫu sau khi nhân bản nó. Nhấn ' 'Khi nó sẽ yêu cầu giữ bản sao lưu của ~ / .bash_profile hoặc ~ / .bashrc và nối thêm bash-it mẫu ở cuối tệp.

Kết quả sau sẽ xuất hiện sau khi hoàn tất quá trình cài đặt.

Bây giờ, nếu bạn mở ~ / .bashrc bằng cách sử dụng bất kỳ trình chỉnh sửa nào, tệp sẽ chứa nội dung sau. ‘Bobby’ được đặt làm chủ đề mặc định cho mẫu bash-it.

Chạy lệnh sau để xác nhận cập nhật của trình bao.

$nguồn~/.bashrc

Lời nhắc sau sẽ xuất hiện trong thiết bị đầu cuối sau khi cài đặt đúng mẫu. Bây giờ, đóng thiết bị đầu cuối. Bạn sẽ thấy cùng một lời nhắc bash bất cứ khi nào bạn mở thiết bị đầu cuối.

Nhiều chủ đề có sẵn cho bash-it tạo mẫu cho lời nhắc bash hiển thị đó theo những cách khác nhau. Một trong số đó là ‘ ghen tỵ' chủ đề. Nếu bạn muốn đặt chủ đề này, hãy mở tệp ~ / .bashrc bằng cách sử dụng bất kỳ trình chỉnh sửa nào và thay đổi ‘ BASH_IT_THEME ' có giá trị đối với ' ghen tỵ '.

Một lần nữa, hãy chạy lệnh ‘ nguồn Lệnh 'để xác nhận cập nhật vĩnh viễn. Kết quả sau sẽ xuất hiện sau khi thiết lập chủ đề ‘ghen tị’.

Zsh

Giống như bash, zsh shell có nhiều chủ đề. Một trong những chủ đề zsh là oh-my-zsh . Chạy lệnh sau để cài đặt chủ đề này cho zsh shell.

% NS -NS '$ (curl -fsSL
https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh) '

Sau khi cài đặt chủ đề, nhấn ‘ và' để làm cho shell mặc định thành zsh.

Nó sẽ yêu cầu mật khẩu gốc để hoàn tất quá trình cài đặt. Kết quả sau sẽ xuất hiện sau khi hoàn tất quá trình cài đặt.

Bây giờ, nếu bạn mở tệp ~ / .zshrc thì bạn sẽ thấy các mục nhập cho oh-my-zsh bản mẫu. ‘Robbyrussell’ được đặt làm chủ đề mặc định cho mẫu.

Để giữ thay đổi vĩnh viễn, bạn phải chạy lệnh 'source'.

% nguồn~/.zshrc

Nếu bạn muốn thay đổi chủ đề thành ‘ mũi tên ’Sau đó mở tệp ~ / .zshrc trong bất kỳ trình chỉnh sửa nào và thay đổi giá trị của‘ ZSH_THEME ' đến ‘Mũi tên '.

Bạn phải chạy lại lệnh ‘source’ để cập nhật thay đổi vĩnh viễn cho zsh shell. Biểu tượng mũi tên sau sẽ xuất hiện sau khi thiết lập chủ đề này.

% nguồn~/.zshrc

Nếu bạn đóng thiết bị đầu cuối và mở lại zsh shell thì kết quả sau sẽ xuất hiện.

Sử dụng mở rộng ký tự đại diện

Mở rộng ký tự đại diện có thể được sử dụng trong bash theo nhiều cách khác nhau mà không cần bất kỳ cài đặt nào. Nhưng mở rộng ký tự đại diện không được bật trong zsh shell theo mặc định. Cách mở rộng ký tự đại diện có thể được sử dụng trong bash và zsh được trình bày trong phần này của bài viết này.

Bash

Giả sử, bạn phải tìm ra tất cả các tệp có phần mở rộng là ‘nhật ký’ của vị trí hiện tại bằng lệnh ‘echo’. Đây, giá trị, ‘ * .log ' được gán cho biến, các tập tin được sử dụng trong lệnh ‘echo’ để hiển thị danh sách tất cả các tệp nhật ký.

$ls
$các tập tin='* .log'
$quăng đi $ tệp

Zsh

Nếu bạn chạy các lệnh trên trong zsh shell thì giá trị của $ files sẽ được in ra thay vì danh sách tệp nhật ký vì tính năng mở rộng ký tự đại diện không được bật theo mặc định cho zsh shell.

% ls
% tập tin='* .log'
% quăng đi $ tệp

Chạy lệnh sau để bật mở rộng ký tự đại diện cho zsh.

% bộ -hoặcGLOB_SUBST

Bây giờ, nếu bạn chạy các lệnh trước đó thì danh sách các tệp nhật ký sẽ hiển thị.

Phần kết luận

Bash và Zsh là những shell rất hữu ích cho người dùng Linux. Cả hai vỏ đều có một số tính năng hữu ích. Người dùng có thể chọn trình bao dựa trên nhiệm vụ được yêu cầu. Một số khác biệt quan trọng giữa hai shell này được mô tả trong bài viết này bằng cách sử dụng các ví dụ thích hợp. Hy vọng, sự khác biệt giữa hai loại vỏ này sẽ được giải đáp cho bạn đọc sau khi đọc bài viết này