Lệnh csh trên Linux gọi C Shell, một shell Unix do Bill Joy tạo ra vào cuối những năm 1970, đặc trưng bởi cú pháp giống C. Nó vừa đóng vai trò là trình thông dịch lệnh vừa là ngôn ngữ kịch bản, cung cấp các tính năng như lịch sử lệnh, kiểm soát công việc và đặt bí danh. Không giống như Bourne Again Shell (bash) được sử dụng phổ biến hơn, csh được biết đến với cú pháp giống với ngôn ngữ lập trình C, khiến nó trở nên trực quan đối với những người quen thuộc với C. C Shell hỗ trợ sử dụng tương tác và viết kịch bản với các tính năng như số học tích hợp và cấu trúc điều khiển nâng cao, nhưng nó đã bị chỉ trích vì cú pháp không nhất quán và khả năng viết kịch bản hạn chế so với các shell khác.
Trong ví dụ này:
Sau đây là giải thích chi tiết hơn về cách `csh` hoạt động như một lệnh để thay đổi shell:
Trong ví dụ này, dấu nhắc `%` cho biết rằng hiện bạn đang ở trong C shell.
Sau khi chạy lệnh này, bạn phải đăng xuất và đăng nhập lại để thay đổi có hiệu lực. Đường dẫn /bin/csh có thể thay đổi tùy thuộc vào cấu hình hệ thống của bạn, vì vậy bạn nên xác minh đường dẫn chính xác đến tệp thực thi C shell bằng cách sử dụng:
Tóm lại, trong khi csh có thểtạm thời thay đổi shell bằng cách bắt đầu một phiên C shell mới, lệnhcsh sẽ thay đổi vĩnh viễnshell đăng nhập mặc định của bạn thành C shell.
Tính năng
- Sử dụng tương tác: csh có thể được sử dụng theo cách tương tác để thực thi các lệnh do người dùng nhập.
- Viết kịch bản: Bạn có thể viết các tập lệnh (tập hợp các lệnh) mà csh sẽ thực thi.
- Lịch sử lệnh: Cho phép người dùng gọi lại, chỉnh sửa và thực thi lại các lệnh trước đó.
- Kiểm soát công việc: Người dùng có thể dừng, tiếp tục và chạy nền các quy trình.
- Cơ chế biệt danh: Người dùng có thể tạo biệt danh cho các lệnh hoặc bộ lệnh.
- Cú pháp giống C: Cú pháp cho các cấu trúc điều khiển (như vòng lặp và điều kiện) giống với ngôn ngữ lập trình C.
Mã:
$ csh
% echo "Hello, world!"
Hello, world!
% exit
$
- Gõ csh sẽ khởi động C shell.
- Dấu nhắc % cho biết bạn hiện đang ở trong C shell.
- Lệnh echo sẽ in ra "Hello, world!" trên màn hình.
- Gõ exit sẽ thoát khỏi C shell và trở về shell ban đầu.
Thay đổi Linux Shell bằng lệnh csh
Lệnh csh thực sự có thể được sử dụng để thay đổi shell trên hệ thống Linux thành C shell. Khi bạn chạy lệnh csh trong một thiết bị đầu cuối, một phiên shell mới sẽ được bắt đầu bằng cách sử dụng C shell. Điều này trái ngược với các shell chuẩn khác như bash (Bourne Again Shell) hoặc zsh (Z Shell).Sau đây là giải thích chi tiết hơn về cách `csh` hoạt động như một lệnh để thay đổi shell:
Khởi động C Shell
Khi bạn nhập csh vào terminal, nó sẽ khởi động một phiên shell mới bằng cách sử dụng C shell. Điều này có thể hữu ích nếu bạn thích cú pháp hoặc các tính năng của C shell hơn shell hiện tại của mình.
Mã:
$ csh
%
Thoát khỏi C Shell
Để thoát khỏi C shell và quay lại shell trước đó (ví dụ: bash), hãy nhập exit hoặc nhấn Ctrl-D.
Mã:
% exit
$
Thay đổi Shell mặc định bằng csh
Để thay đổi vĩnh viễn shell đăng nhập mặc định của bạn thành csh, bạn có thể sử dụng lệnh chsh (thay đổi shell). Lệnh này sẽ thay đổi shell được chỉ định trong cài đặt tài khoản người dùng của bạn.
Mã:
$ chsh -s /bin/csh
Mã:
which csh
Sử dụng tạm thời một Shell khác
Nếu bạn muốn sử dụng tạm thời C shell cho một phiên cụ thể, bạn có thể gọi csh rồi thoát khi hoàn tất, như mô tả ở trên.Tóm lại, trong khi csh có thểtạm thời thay đổi shell bằng cách bắt đầu một phiên C shell mới, lệnhcsh sẽ thay đổi vĩnh viễnshell đăng nhập mặc định của bạn thành C shell.