Shell Scripting - Introduction & Shebang
Mục lục:
- Chỉ thị phiên dịch Shebang
- Sử dụng Shebang trong Bash Script
- Tập lệnh mẫu
- Ghi đè lên Shebang
- Phần kết luận
Chuỗi ký tự này (
#!
) Được gọi là shebang và được sử dụng để báo cho hệ điều hành sử dụng trình thông dịch để phân tích phần còn lại của tệp.
Chỉ thị phiên dịch Shebang
Lệnh phiên dịch Shebang có dạng sau:
#!interpreter
- Lệnh phải là dòng đầu tiên trong tập lệnh. Lệnh này phải bắt đầu bằng shebang
#!Khoảng trắng sau các ký tự shebang là tùy chọn.Interpreter là đường dẫn đầy đủ đến tệp nhị phân (ví dụ:/bin/sh,/bin/bash). Đối sốInterpreter là tùy chọn.
Ví dụ:
-
#!/bin/bash- Sử dụngbashđể phân tích tệp.#!/usr/bin/env perl- Sử dụng lệnhenvđể tìm đường dẫn đến tệp thực thiperl.#!/usr/bin/pythonThực thi tệp bằng tệp nhị phânpython.
Sử dụng Shebang trong Bash Script
Nếu một shebang không được chỉ định và người dùng đang chạy tập lệnh Bash đang sử dụng Shell khác, tập lệnh sẽ được phân tích cú pháp bởi bất kỳ trình thông dịch mặc định nào được sử dụng bởi Shell đó. Ví dụ: trình thông dịch mặc định cho
bash
là
bash
và cho
zsh
là
sh
. Để đảm bảo rằng tập lệnh của bạn sẽ luôn được diễn giải với Bash, bạn sẽ cần chỉ định đường dẫn thực thi bằng shebang.
Có hai cách để sử dụng chỉ thị Shebang và đặt trình thông dịch.
-
Sử dụng đường dẫn tuyệt đối đến nhị phân bash:
#!/bin/bashSử dụng tiện ích
env:#!/usr/bin/env bash
Ưu điểm của việc sử dụng cách tiếp cận thứ hai là nó sẽ tìm kiếm
bash
thực thi trong biến môi trường
$PATH
của người dùng. Nếu có nhiều hơn một đường dẫn đến
bash
, đường dẫn đầu tiên sẽ được sử dụng bởi tập lệnh.
Khi sử dụng tùy chọn đầu tiên để thêm tùy chọn vào nguồn cung cấp vỏ Bash, hãy chuyển nó tới trình thông dịch. Ví dụ: để chạy tập lệnh trong chế độ gỡ lỗi, bạn sẽ sử dụng
#!/bin/bash -x
. Nếu bạn đang sử dụng phương thức
env
thì bạn cần sử dụng
set
để khai báo tùy chọn. Để bật chế độ gỡ lỗi, bạn sẽ thêm
set -x
sau dòng shebang.
Tập lệnh mẫu
Hãy tạo một tập lệnh đơn giản bằng shebang sẽ in ra Hello Hello, World World. Mở trình soạn thảo văn bản của bạn và dán dòng sau:
nano hello_world
Chào thế giới
#!/bin/bash echo "Hello, World"
Để có thể chạy tập lệnh mà không chỉ định trình thông dịch từ dòng lệnh, bạn sẽ cần phải thực hiện tệp:
chmod +x hello_world
Bây giờ nếu bạn có thể chạy tập lệnh bằng cách nhập
./
theo sau là tên tập lệnh:
./hello_world
Ghi đè lên Shebang
Nếu vì lý do nào đó bạn muốn ghi đè trình thông dịch được đặt trong dòng Shebang, bạn cần chạy tập lệnh bằng cách chỉ định rõ ràng trình bao muốn.
Ví dụ: để chạy tập lệnh có
#!/bin/sh
được chỉ định trong dòng Shebang bằng cách sử dụng
bash
bạn sẽ nhập:
bash hello_world
Xin lưu ý, không nên ghi đè trình thông dịch shell vì nó có thể dẫn đến hành vi không mong muốn của tập lệnh.
Phần kết luận
Bây giờ bạn nên hiểu rõ về Shebang là gì và cách sử dụng nó trong các tập lệnh Bash của bạn.
thiết bị đầu cuối bashMicrosoft công bố tên, giá cho thuê bao Office < Theo thời đại của Ozzie bắt đầu tại Microsoft, các chuyên gia đã rất phiền lòng về việc bộ não của Redmond có thể khôi phục lại hoạt động kinh doanh của mình để cạnh tranh hiệu quả với những người như Google. Quan điểm hàng đầu là Microsoft sẽ chuyển hướng sang một mô hình dựa trên "phần mềm cộng thêm dịch vụ", thúc đẩy phần mềm đóng gói của mình bằng các dịch vụ trực tuyến giá trị gia tăng và bán toàn bộ shebang theo tỷ lệ đăng ký.
Microsoft đã công bố tên chính thức cho đầu tiên cung cấp như vậy: Microsoft Equipt. Như đã thảo luận ở trên, gói mới này bao gồm Microsoft Office Home và Student Edition với Windows Live OneCare và một số ứng dụng khác của Microsoft, bao gồm Windows Live Mail và Windows Live Messenger, tất cả chỉ với một khoản phí hàng tháng duy nhất. Và mức phí không phải là tồi tệ.
Cách chạy Bash trên Ubuntu trên Windows 10
Kích hoạt Windows Subsystem cho Linux sẽ cho phép bạn chạy Bash trên Ubuntu trên Windows 10, Bash script , Linux công cụ dòng lệnh, công cụ Linux đầu tiên
Mảng Bash
Mảng là một trong những cấu trúc dữ liệu cơ bản và được sử dụng nhiều nhất. Trong bài viết này, chúng tôi sẽ đề cập đến các mảng Bash và giải thích cách sử dụng chúng trong các tập lệnh Bash của bạn.







