Ngày 19 - Tự động hóa với Bash Shell
Ngày thứ 19. Chúng ta tiếp tục với hành trình 90 ngày DevOps với câu chuyện mà chúng ta đã từng nhắc đến ở giai đoạn đầu: Tự động hóa. Để tự động hóa được tốt hơn, trong DevOps người ta thường sử dụng Bash (Bourne Again Shell). Tất nhiên chúng ta cũng có một lựa chọn khác là ZSH sẽ được nhắc đến trong những phần tiếp theo.
Khởi đầu
Chúng ta tạo một tập tin Bash Shell đơn giản bằng touch 90DaysOfDevOps.sh
. Sau đó, chỉnh
sửa bằng nano 90DaysOfDevOps.sh
. Dưới đây là nội dung tập tin Bash Shell.
Dòng đầu tiên định hình vị trí của Shell mà chúng ta sử dụng, tất nhiên nó có thể có những biến thể như thế này.
#!/usr/bin/env bash
#!/usr/bin/bash
Để biết chắc chắn Bash đang ở đâu, hãy sử dụng một trong hai câu lệnh: which bash
hoặc
whereis bash
.
Lưu tập tin. Kiểm tra quyền hạn của tập tin này bằng lệnh ls -la
. Sau đó thay đổi để cấp quyền
thực thi bằng câu lệnh quen thuộc: chmod +x 90DaysOfDevOps.sh
. Chạy tập tin này lên, và đây là
kết quả.
Thay đổi một chút…
Trên tập tin chúng ta có thể có những trường thông tin sau để chúng ta tìm hiểu.
Biến
Cách dùng có thể là khai báo trực tiếp rồi gọi bằng $[name]
. Hoặc có thể sử dụng cách sau để cho
người dùng nhập giá trị vào.
Điều kiện
Đây là cách xét điều kiện trong Bash. Cách so sánh cũng khá khác thường một chút.
eq
: A = B trả ra ĐÚNGne
: A != B (khác) trả ra ĐÚNGgt
: A > B trả ra ĐÚNGge
: A >= B trả ra ĐÚNGlt
: A < B trả ra ĐÚNGle
: A =< B trả ra ĐÚNG
Ngoài ra, việc xét điều kiện với một tập tin cũng được tính đến, cụ thể như sau.
-d file
: Tập tin đó là một thư mục-e file
: Tập tin tồn tại-f file
: Chuỗi cung cấp là một tập tin-g file
: Tập tin có cài đặt mã định danh nhóm (Group ID)-r file
: Tập tin đọc được-s file
: Tập tin có nội dung (Kích thước khác 0)
Nguyên mẫu
Ta sẽ thử tạo một tập tin mà trong đó, ta sẽ tạo người dùng một cách tự động và cho phép người dùng xóa người dùng nếu cần.
Tập tin này cho phép người dùng nhập thông tin tên đăng nhập và mật khẩu trước khi tạo người dùng. Đồng thời cũng cho phép xóa người dùng khi cần. Dưới đây là kết quả khi chạy chương trình.
Kết thúc ngày thứ 19. Nội dung đã được lược giản cho phù hợp với điều kiện thực tế.
Bạn có thể xem thêm những tài liệu về Bash ở đây hoặc phần Tham khảo phía dưới.
Tài liệu tham khảo 📚
Mời mọi người chuyển sang trang này để theo dõi tất cả tài liệu liên quan trong giai đoạn 3, để giúp bản thân có được những tài liệu hữu ích về Linux trong làm việc với DevOps.
Hẹn gặp mọi người ở những ngày tiếp theo. 🚀