Linux được xây dựng với các công cụ mạnh mẽ không có trong Windows. Một trong những công quan trọng đó là Shell Scripting. Windows tuy có công cụ tương tự nhưng yếu hơn Linux Counterpart nhiều. Shell scripting/lập trình cho phép thực thi lệnh(s), pipe để lấy đầu ra mong muốn nhằm tự động hóa việc sử dụng hàng ngày. Thực tế, tự động hóa tác vụ hàng ngày trên server là nhiệm vụ quan trọng của quản trị viên hệ thống và hầu hết admin đạt được bằng cách viết script chạy khi cần.
Shell phổ biến nhất trong Linux là BASH viết tắt của Bourne Again Shell. Các shell khác thường gặp:
- Almquist shell (ash)
- Bourne shell (sh)
- Debian Almquist shell (dash)
- korn shell (ksh)
- Public domain korn shell (pdksh)
- MirBSD korn shell (mksh)
- Z shell (zsh)
- Busybox, v.v.
Chúng tôi đã cố gắng bao quát nhiều khía cạnh shell programming trong 5 bài viết khác nhau.
Hiểu Linux Shell và Basic Shell Scripting – Phần I
Tôi hơi do dự viết về scripting language, không chắc người dùng có chấp nhận, nhưng phản hồi nhận được là lịch sử. Chúng tôi cung cấp kiến thức cơ bản về scripting language và cách dùng, viết lệnh cơ bản, cần chú thích và cách viết, shebang, làm script executable và chạy nó.
Hello.sh
Script đầu tiên nhằm ra đầu ra đơn giản, làm bạn thoải mái với thế giới shell scripting.
Process.sh
Script thứ hai cho biết cách thực thi nhiều lệnh trong script, tuy nhiên chưa pipe ở giai đoạn này.
Interactive.sh
Script thứ ba và cuối cùng bài này là script đơn giản nhưng rất tương tác: hỏi tên, lưu, hỏi họ, lưu, chào bằng tên đầy đủ và họ ở các dòng khác nhau.
Cuối bài này bạn sẽ biết cách thực thi lệnh Linux độc lập từ shell script, lưu và thao tác dữ liệu theo yêu cầu và lưu dữ liệu lúc chạy.
Shell Script Phần I: Hiểu Linux Shell và Basic Shell Scripting Language
Hào hứng với phản hồi bài đầu, viết bài tiếp theo là ý nghĩ đầu tiên, và bài thứ hai series:
5 Shell Scripts cho Linux Newbies học Scripting – Phần II
Rõ ràng từ tiêu đề, 5 Shell Scripts được liệt kê. Việc chọn script loại nào là việc phức tạp. Chúng tôi quyết định dành bài này cho thiết kế và màu sắc trong shell. Ý tưởng chính: terminal Linux không nhàm chán và đơn sắc, bạn có thể làm việc rất đầy màu sắc.
Special_patter.sh
Script đầu vẽ mẫu đặc biệt, ví dụ mẫu kim cương bằng chấm(.), triển khai vòng lặp for là bài học từ script này.
Colourfull.sh
Script thứ hai cho đầu ra nhiều màu. Bạn học mã màu (không cần nhớ) đổi màu chữ và nền riêng lẻ, quá trình học rất màu sắc.
Encrypt.sh
Bài thứ ba là script dưới 10 dòng nhưng rất hữu ích: mã hóa file/thư mục bằng mật khẩu. Triển khai bảo mật chưa bao giờ dễ dàng như vậy. Không viết script giải mã ở đây nhưng đưa lệnh giải mã và nhờ bạn tự viết script giải mã.
Server-Health.sh
Script thứ tư hơi dài (dài ở mức độ học này) báo cáo thông tin server và có thể chuyển hướng ra file tham khảo. Sử dụng lệnh Linux dạng pipeline để lấy kết quả mong muốn, pipeline công cụ quan trọng trong scripting, đã nằm trong kiến thức của bạn.
Disk_space.sh
Script thứ năm và cuối cùng rất hữu ích cho web admin: tự động gửi email khi dung lượng ổ đĩa vượt ngưỡng. User đăng ký 5GB web space, khi upload đạt 4.75GB, tự động gửi email yêu cầu tăng dung lượng.
Shell Script Phần II: 5 Shell Scripts để học Shell Programming
Khám phá thế giới Linux BASH Scripting – Phần III
Đến lúc nói về các từ khóa dùng và dành riêng trong Scripting Language để tinh chỉnh script chuyên nghiệp hơn. Thảo luận triển khai lệnh Linux trong shell script.
up.sh
Script đầu hướng dẫn di chuyển lên thư mục cha trong shell script. Khi cài gói Linux, file lưu ở nhiều vị trí tự động, script này tiện nếu cần tác vụ tương tự.
Randomfile.sh
Script thứ hai rất hữu ích cho Admin. Tự động tạo file/thư mục duy nhất với dấu thời gian ngày giờ, loại bỏ cơ hội ghi đè dữ liệu.
Collectnetworkinfo.sh
Bài thứ ba thu thập thông tin server và lưu vào file text để gửi/lưu tham khảo sau.
Convertlowercase.sh
Bài thứ tư chuyển đổi dữ liệu từ file hoặc standard input sang chữ thường một lần.
Simplecacl.sh
Bài cuối là máy tính đơn giản thực hiện 4 phép toán cơ bản tương tác.
Shell Script Phần III: Khám phá thế giới Linux BASH Scripting
Khía cạnh Toán học của Linux Shell Programming – Phần IV
Bài toán học bắt nguồn từ email nhận được, một Linux Enthusiast không hiểu script máy tính cuối bài 3. Để đơn giản hóa phép toán, tạo script độc lập cho từng phép toán.
Addition.sh
Rõ ràng từ tên, script thực hiện cộng 2 số. Dùng 'expr' để thực hiện.
Subtraction.sh, Multiplication.sh, Division.sh là script 2, 3, 4 thực hiện phép toán theo tên.
Table.sh
Script thứ năm in bảng cửu chương số nhập lúc chạy.
EvenOdd.sh
Script tiếp theo kiểm tra số nhập từ standard input là lẻ hay chẵn và in kết quả.
Factorial.sh
Script thứ bảy tính giai thừa số. Tính giai thừa trên giấy đau đầu, nhưng đây là niềm vui.
Armstrong.sh
Script kiểm tra số nhập có phải Armstrong không.
Prime.sh
Script cuối kiểm tra số nguyên tố và in kết quả.
Shell Script Phần IV: Khía cạnh Toán học của Linux Shell Programming
Tính toán biểu thức toán học trong Scripting – Phần V
Fibonacci.sh
Script đầu kiểm tra số nhập có phải Fibonacci không.
Decimal2Binary.sh
Script thứ hai chuyển Decimal sang Binary. Dự án phổ biến trong kỳ hè.
Binry2Decimal.sh
Script thứ ba chuyển Binary ngược về decimal.
Tuy nhiên không viết script đúng cho các chuyển đổi dưới nhưng đưa lệnh một dòng để bạn tự triển khai:
- Decimal sang octal
- Decimal sang Hexadecimal
- Octal sang Decimal
- Hexadecimal sang Decimal
- Binary sang Octal, rơi vào nhóm trên.
Shell Script Phần V: Tính toán biểu thức toán học trong Shell Scripting Language
Chúng tôi đã test tất cả script đảm bảo chạy 100% hoàn hảo trên terminal của bạn. Đã kèm kết quả mẫu ở hầu hết script để bạn không bối rối.
Đó là tất cả từ tôi. Sẽ quay lại với bài thú vị khác. Cho đến lúc đó hãy kết nối Tecmint. Khỏe, an toàn và theo dõi. Đừng quên góp ý quý báu trong comment, rất được trân trọng.