Tạo và chạy tập lệnh
Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 67 trên 82.
Giờ bạn đã hiểu shell script là gì, hãy tạo một shell script và chạy nó. Quy trình gồm ba bước: tạo tệp, cấp quyền thực thi và chạy tệp.
Trước tiên, hãy tạo một tệp mới có phần mở rộng .sh. Bạn có thể dùng echo với chuyển hướng để ghi shebang và các lệnh:
echo '#!/bin/bash' > greet.sh
echo 'echo "Hello, World!"' >> greet.shTrước khi chạy tập lệnh, bạn cần cấp quyền thực thi cho nó. Theo mặc định, các tệp mới không có quyền này. Dùng chmod để thêm quyền:
chmod +x greet.shGiờ bạn có thể chạy tập lệnh bằng cách chỉ định đường dẫn của nó. Với tập lệnh trong thư mục hiện tại, hãy thêm ./ trước tên tệp:
./greet.shLệnh này in ra Hello, World!. ./ cho shell biết cần tìm trong thư mục hiện tại thay vì tìm trong PATH. Nếu không có nó, shell sẽ không tìm thấy tập lệnh của bạn.
Bạn cũng có thể chạy tập lệnh mà không cần quyền thực thi bằng cách gọi trực tiếp trình thông dịch:
bash greet.shĐiều này yêu cầu Bash diễn giải tệp một cách rõ ràng, không cần quyền thực thi.
Thử thách
DễTạo một shell script có tên welcome.sh để in ra Welcome to scripting! khi chạy.
Làm theo các bước sau:
- Tạo tệp script với dòng shebang (
#!/bin/bash) - Thêm lệnh
echođể in thông điệp chào mừng - Dùng
chmodđể cấp quyền thực thi cho script - Chạy script bằng
./
Đầu ra của bạn sẽ là:
Welcome to scripting!Gợi ý: Dùng
echo '#!/bin/bash' > welcome.shđể tạo tệp với dòng shebang, sau đó dùngecho 'echo "Welcome to scripting!"' >> welcome.shđể thêm lệnh. Cấp quyền thực thi cho script bằngchmod +x welcome.sh, rồi chạy bằng./welcome.sh
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Thư mục
Tạo thư mụcSao chép thư mụcDi chuyển và đổi tên thư mụcXóa thư mụcÔn tập: thao tác với thư mục7Nội dung tệp
Head và tailĐếm từLệnh sortLệnh uniqueCơ bản về grepGrep với các cờÔn tập: Thám tử văn bản13Cơ bản về viết tập lệnh shell
Tập lệnh shell là gìTạo và chạy tập lệnhBiến trong tập lệnhĐầu vào của người dùng trong tập lệnhCâu lệnh ifVòng lặp forVòng lặp whileÔn tập: đoán số2Điều hướng
In đường dẫn thư mục hiện tạiLiệt kê tệpChuyển thư mụcĐường dẫn tuyệt đối và tương đốiThư mục chính và thư mục gốcÔn tập: tìm đường8Chuyển hướng
Đầu ra chuẩnGhi đè vào tệpGhi thêm vào tệpĐầu vào chuẩnLỗi chuẩnÔn tập: Công cụ tạo nhật ký6Ký tự đại diện và mẫu
Ký tự đại diện dấu saoKý tự đại diện dấu hỏiKý tự đại diện trong ngoặc vuôngKết hợp ký tự đại diệnÔn tập: thao tác có chọn lọc9Đường ống
Đường ống là gìNối hai lệnh bằng đường ốngNối nhiều lệnh bằng đường ốngDùng đường ống với grepÔn tập: luồng xử lý dữ liệuTự luyện tập: Playground Terminal