Viết Bash script là một trong những cách tốt nhất để nâng cao kiến thức chuyên môn về Linux, nhưng việc học nó có thể khiến bạn sợ hãi. Đây là những điều bạn cần biết về Bash và cách có thể bắt đầu với cách viết script cơ bản.
Bash trong Linux là gì?
Bash (Bourne-Again SHell) là giao diện dòng lệnh (CLI) mặc định mà bạn sẽ sử dụng trong hầu hết các bản phân phối Linux. Đó là trình thông dịch được sử dụng trong Terminal. Bạn có thể sử dụng nó để cài đặt ứng dụng, chạy các chương trình dòng lệnh và thêm chức năng mới thông qua script.
Shell script cho phép thực hiện mọi việc trong Bash có thể thực hiện với các ngôn ngữ lập trình cơ bản khác, tất cả đều có quyền truy cập thuận tiện vào hệ điều hành và file của bạn. Các lệnh trong Terminal thường là những đoạn script rất đơn giản. Bạn có thể đưa việc sử dụng Terminal lên một tầm cao mới bằng cách viết các script Bash riêng.
Bash và các shell CLI khác khó sử dụng hơn giao diện người dùng đồ họa (GUI), nhưng chúng có một số ưu điểm:
- Chúng ít tốn tài nguyên hơn vì không hiển thị đồ họa.
- Khi bạn có kỹ năng viết script, chúng sẽ thực hiện các tác vụ như liệt kê tên thư mục và tất cả những thư mục con nhanh hơn nhiều.
- Chúng có thể được sử dụng để tính toán thông tin (như số lượng file có tên bắt đầu bằng 'a') không được hỗ trợ thông qua các ứng dụng GUI.
- Việc sắp xếp dữ liệu trong các file (như CSV) hiệu quả hơn với script CLI.
Có thể sử dụng Bash để làm gì?
Bash script rất hữu ích cho việc tự động các tác vụ cơ bản. Bạn sẽ có khởi đầu chậm chạp khi mới bắt đầu viết script, nhưng khi ngày càng tự tin và hiểu biết hơn, bạn sẽ tìm ra cách để hoàn thành hầu hết mọi nhiệm vụ phức tạp chỉ với vài phút tập trung viết script.
Một cách dễ dàng để có thể bắt đầu sử dụng Bash là sử dụng cron, một service Linux lên lịch các tác vụ. Bạn có thể sử dụng nó để chạy các script cụ thể hoặc những tác vụ khác vào một thời điểm hoặc khoảng thời gian cụ thể. cron sử dụng file văn bản (crontab hay 'cron table') để theo dõi lệnh nào được lên lịch và khi nào.
Ví dụ, nếu muốn làm cho hệ thống Ubuntu tự động cập nhật kho lưu trữ gói và phần mềm mỗi tuần một lần, một tác vụ cron được viết tốt có thể hữu ích. Bạn có thể bắt đầu thực hiện tác vụ này bằng cách mở Terminal, nhập nano để mở trình soạn thảo văn bản và viết script sau vào file có tên autoupdate.sh:
#!/bin/bash
sudo apt-get update
Sau khi viết, lưu và đóng script đó (lý tưởng nhất là lưu nó trong thư mục chính), bước tiếp theo là thêm nó vào crontab. Bạn có thể mở crontab để chỉnh sửa bằng cách nhập lệnh sau vào Terminal:
crontab -e
Khi crontab mở, bước tiếp theo sẽ là thêm tác vụ. Để autoupdate.sh chạy một lần mỗi tuần, bạn cần phải viết một cái gì đó như thế này trước khi lưu và thoát khỏi file:
* * * * 0 ./autoupdate.sh
Bạn thậm chí có thể viết các tác vụ cron để dọn dẹp file hoặc sử dụng lệnh at để lên lịch những tác vụ không lặp lại thông qua shell Bash. Bằng cách kết hợp cả hai tiện ích này, bạn có thể tự động hóa hầu hết các tác vụ lặp đi lặp lại hoặc có thể dự đoán được cần thực hiện trên máy tính. Có thể tạo script để tự động:
- Cập nhật máy tính hoặc ứng dụng cụ thể.
- Gửi email.
- Thay đổi âm lượng, độ sáng màn hình hoặc các cài đặt khác.
- Sao chép, đọc, chỉnh sửa hoặc thao tác với file.
Cách tốt nhất để học cách viết Bash script là làm theo ví dụ. Thực tế có vô số cách để cải thiện hệ thống của mình bằng Bash. Làm theo hướng dẫn và đọc về cú pháp sẽ dần dần cải thiện khả năng viết script. Nếu muốn tìm hiểu thêm về Bash, hãy cân nhắc thử:
- Kiểm tra email với mutt.
- Duyệt web bằng w3m.
- Phát nhạc bằng mpg321.
- Chỉnh sửa hình ảnh bằng imagemagick.
- Đọc và viết với vim.
- Duyệt file với ranger.
- Lưu file vào clipboard bằng xclip.
- Chỉnh sửa video bằng ffmpeg.
Cách viết script với Bash trong Linux
Nếu thiếu ý tưởng, bạn cũng có thể học Bash bằng cách chơi game trực tuyến. Một số game hay nhất bạn có thể chơi để học cách viết Bash script bao gồm:
- Terminus, một game phiêu lưu văn bản được host trên trang web của MIT.
- OverTheWire, nơi host hơn chục "game chiến tranh" để giúp bạn học các kỹ năng viết script khác nhau thông qua việc giải quyết vấn đề.
Cách chạy script Bash trong Linux
Bạn có thể tạo và chạy script Bash trong Linux bằng trình soạn thảo văn bản ưa thích. vim và nano đều là những lựa chọn tuyệt vời và bạn có thể mở bằng cách nhập tên của chúng vào Terminal. Bạn có thể lưu và đặt tên cho file của mình ngay lập tức, đảm bảo rằng tên file kết thúc bằng .sh (phần mở rộng file shell script).
Sau khi viết xong script, có thể chạy script đó bằng các lệnh Terminal sau:
sudo chmod +x filename.sh
./filename.sh
Bạn có thể cần phải bắt đầu từ việc nhỏ với script Bash. Tuy nhiên, nếu thực hành đủ, bạn có thể biến những nhiệm vụ phức tạp, khó sử dụng, lặp đi lặp lại thành những thử thách nhỏ có thể giải quyết trong vài phút. Đó là một kỹ năng thiết yếu dành cho các chuyên gia công nghệ, người dùng thành thạo và nơi tốt nhất để học cách sử dụng Terminal.