Nếu bạn thấy mình tạo văn bản giống nhau trong terminal ngày nào cũng vậy, tại sao không đơn giản hóa quy trình và tiết kiệm thời gian bằng cách tạo script template .txt cho nó? Nếu nghe thú vị, hãy mở terminal, chọn trình soạn thảo yêu thích, và bắt đầu ngay!
Tạo Script Template Mới
Tạo script bash mới theo cách bạn thích. Chúng tôi dùng trình soạn thảo nano trong terminal để tạo file tên "MTE_template.sh" trong thư mục "Scripts" trong thư mục home:
nano MTE_template.sh
Định Nghĩa Tham Số
Mở file trong trình soạn thảo yêu thích. Ở ngay đầu, nhập dòng giới thiệu điển hình định nghĩa nó là script bash:
#!/bin/sh
Để giữ cho mọi thứ gọn gàng và dễ đọc, nhập một dòng comment với tiêu đề cho phần tiếp theo.
Phần "tiếp theo" là một loạt tham số chúng ta muốn định nghĩa trong template. Khi script template hoàn thành, chúng ta sẽ cung cấp cho nó các tham số đó để chèn vào văn bản.
Chúng tôi nhập "Our parameters" (Các tham số của chúng ta) làm tiêu đề trong dòng comment:
#Our parameters
Tiếp theo, định nghĩa ba tham số "SITE", "AUTHOR", và "CONTACT" bằng cách ánh xạ chúng vào ba biến đánh số:
SITE=$1 AUTHOR=$2 CONTACT=$3
Bạn có thể định nghĩa tham số khác – hoặc nhiều hơn – theo cách tương tự.
Tạo Template Của Bạn
Với các tham số template đã sẵn sàng, đến lúc tạo template văn bản thực sự.
Giống như trước, bắt đầu với một dòng comment làm tiêu đề:
#Template
Đây là những gì chúng ta thêm vào template:
- Chúng ta "kẹp" template giữa hai dòng.
- Dòng đầu tiên đọc
cat << EOFvà cơ bản nói "mọi thứ tiếp theo (AKA: template thực tế của chúng ta), cho đến khiEOFxuất hiện, nên được coi như một đầu vào duy nhất". - Dòng thứ hai là
EOF, trong trường hợp này là "từ khóa", phá vỡ vòng lặp lệnhcatvà kết thúc template.
cat << EOF Welcome to a Bash-generated TXT template for $SITE. Created by $AUTHOR. Contact me at $CONTACT. EOF
Một template hữu ích hơn có thể là dạng email. Bạn có thể định nghĩa tham số "$NAME" và "$TASK" rồi tạo template email như:
cat << EOF Hello $NAME, I just wanted to get back to you regarding $TASK. Would you be so kind as to update me on any changes? Best regards, My Name EOF
Sau khi xong, lưu chỉnh sửa (Ctrl + O) và thoát (Ctrl + X) chương trình.
Tiếp theo, làm cho script có quyền thực thi bằng:
chmod u+x MTE_template.sh
Cách này, bạn sẽ dùng tên script chính nó để tạo tài liệu mới.
Chạy Thử
Chạy script với các tham số bạn đã định nghĩa. Lần chạy thử của chúng ta trông như sau:
./MTE_template.sh Make_Tech_Easier Ody mymail@mailserver.com
Phần đầu là tên script, "Make_Tech_Easier" tham số đầu, "Ody" tham số hai, và "mymail@mailserver.com" tham số ba.
Lưu ý chúng tôi dùng gạch dưới (_) để gom từ "make tech easier" lại. Nếu muốn dùng khoảng trắng, thêm dấu ngoặc kép (ví dụ, "Make Tech Easier").
Tạo Tài Liệu
Với script sẵn sàng, bạn có thể dùng nó làm template để tạo tài liệu mới, nhờ sức mạnh của chuyển hướng.
Để làm vậy, chạy như lần thử, nhưng sau khi định nghĩa tham số, nhập > path/to/file/filename.txt. Trong trường hợp chúng tôi, lệnh trông như:
./MTE_template.sh Make_Tech_Easier Ody mymail@mailserver.com > /home/ducklord/Documents/new_MTE_note.txt
Cách này, bạn chỉ示 template xuất kết quả đến file đã định thay vì terminal. Về kết quả thực tế, bạn xem ảnh sau.
Trông Không Rất Dễ Dàng!
Mặc dù có vẻ phức tạp, nếu làm theo hướng dẫn trên, thực tế rất dễ. Nó cũng rất hữu ích nếu bạn thường xuyên cần tạo văn bản từ cùng một template. Ví dụ, bạn có thể tự động tạo email định kỳ, trang thông tin sản phẩm, v.v., nơi các từ hoặc cụm từ giống nhau xuất hiện nhiều lần trong cùng văn bản.
Hoặc bạn có thể đi xa hơn, đọc thêm tài liệu, và dùng cùng cách tiếp cận để tạo template sinh mã, ví dụ giúp thiết lập file HTML chứa toàn bộ cấu trúc trang web bằng một lệnh hoặc chạy script bash với quyền root khi khởi động.