Cách tạo và chạy Bash Shell Scripts trên Windows 10
Với sự xuất hiện của Windows 10’s Bash shell, giờ đây bạn có thể tạo và chạy các tập lệnh Bash shell trên Windows 10. Bạn cũng có thể kết hợp các lệnh Bash vào một tệp loạt Windows hoặc tập lệnh PowerShell.
Ngay cả khi bạn biết mình đang làm gì, điều này không nhất thiết đơn giản như bạn tưởng tượng. Windows và UNIX sử dụng các ký tự cuối dòng khác nhau và hệ thống tệp Windows có thể truy cập được ở một vị trí khác trong môi trường Bash.
Cách viết Bash Script trên Windows 10
LIÊN QUAN:Cách cài đặt và sử dụng Linux Bash Shell trên Windows 10
Khi viết các tập lệnh shell trên Windows, hãy nhớ rằng các hệ thống giống Windows và UNIX như Linux sử dụng các ký tự “cuối dòng” khác nhau trong các tệp văn bản trong các tập lệnh shell.
Nói cách khác, điều này có nghĩa là bạn không thể chỉ viết một đoạn mã shell trong Notepad. Lưu tệp trong Notepad và nó sẽ không được Bash giải thích chính xác. Tuy nhiên, bạn có thể sử dụng các trình soạn thảo văn bản nâng cao hơn – ví dụ: Notepad ++ cho phép bạn cung cấp các ký tự cuối dòng UNIX cho tệp bằng cách nhấp vào Chỉnh sửa> Chuyển đổi EOL> Định dạng UNIX / OSX.
Tuy nhiên, tốt hơn hết bạn chỉ nên viết tập lệnh shell trong chính môi trường Bash. Môi trường Bash dựa trên Ubuntu đi kèm với cả trình soạn thảo văn bản vi và nano. Trình chỉnh sửa vi mạnh hơn, nhưng nếu bạn chưa bao giờ sử dụng nó trước đây, bạn có thể muốn bắt đầu với nano. Nó sẽ dễ sử dụng hơn nếu bạn là người mới.
Ví dụ: để tạo tập lệnh bash trong nano, bạn sẽ chạy lệnh sau trong bash:
nano ~ / myscript.sh
Thao tác này sẽ mở trình soạn thảo văn bản Nano trỏ đến một tệp có tên “myscript.sh” trong thư mục chính của tài khoản người dùng của bạn. (Ký tự “~” đại diện cho thư mục chính của bạn, vì vậy đường dẫn đầy đủ là /home/username/myscript.sh.)
Bắt đầu tập lệnh shell của bạn với dòng:
#! / bin / bash
LIÊN QUAN:Hướng dẫn dành cho người mới bắt đầu về Shell Scripting: Khái niệm cơ bản
Nhập các lệnh bạn muốn chạy, mỗi lệnh trên một dòng riêng. Tập lệnh sẽ chạy lần lượt từng lệnh. Thêm ký tự “#” trước một dòng để coi nó như một “nhận xét”, điều gì đó giúp bạn và những người khác hiểu tập lệnh nhưng không chạy dưới dạng lệnh. Để biết các thủ thuật nâng cao hơn, hãy tham khảo hướng dẫn chi tiết hơn về các tập lệnh Bash trên Linux. Các kỹ thuật tương tự sẽ hoạt động trong Bash trên Ubuntu trên Windows.
Lưu ý rằng không có cách nào để chạy các chương trình Windows từ bên trong môi trường Bash. Bạn bị hạn chế đối với các lệnh và tiện ích đầu cuối Linux, giống như bạn đang sử dụng hệ thống Linux điển hình.
Ví dụ: hãy chỉ sử dụng tập lệnh “hello world” cơ bản làm ví dụ ở đây:
#! / bin / bash # đặt biến STRING là STRING = "Hello World!" # in nội dung của biến trên màn hình echo $ STRING
Nếu đang sử dụng trình soạn thảo văn bản Nano, bạn có thể lưu tệp bằng cách nhấn Ctrl + O rồi nhấn Enter. Đóng trình chỉnh sửa bằng cách nhấn Ctrl + X.
Làm cho tập lệnh có thể thực thi và sau đó chạy nó
Có thể bạn sẽ muốn tập lệnh có thể thực thi được để bạn có thể chạy nó dễ dàng hơn. Trên Linux, điều đó có nghĩa là bạn cần cấp cho tệp script quyền thực thi. Để làm như vậy, hãy chạy lệnh sau trong thiết bị đầu cuối, trỏ nó vào tập lệnh của bạn:
chmod + x ~ / myscript.sh
Để chạy tập lệnh, bây giờ bạn có thể chạy nó trong thiết bị đầu cuối bằng cách nhập đường dẫn của nó. Bất cứ khi nào bạn muốn khởi chạy script trong tương lai, chỉ cần mở Bash shell và nhập đường dẫn đến script.
~ / myscript.sh
(Nếu tập lệnh nằm trong thư mục hiện tại, bạn có thể chạy nó với ./myscript.sh)
Cách làm việc với tệp Windows trong tập lệnh Bash
LIÊN QUAN:Cách truy cập tệp Ubuntu Bash của bạn trong Windows (và Ổ đĩa hệ thống Windows của bạn trong Bash)
Để truy cập các tệp Windows trong tập lệnh, bạn sẽ cần chỉ định đường dẫn của chúng theo / mnt / c, không phải đường dẫn Windows của chúng. Ví dụ: nếu bạn muốn chỉ định tệp C: \ Users \ Bob \ Downloads \ test.txt, bạn cần chỉ định đường dẫn /mnt/c/Users/Bob/Downloads/test.txt. Tham khảo hướng dẫn của chúng tôi về các vị trí tệp trong Windows 10’s Bash shell để biết thêm chi tiết.
Cách kết hợp các lệnh Bash vào một tập lệnh Batch hoặc PowerShell
LIÊN QUAN:Cách đặt Bản phân phối Linux mặc định của bạn trên Windows 10
Cuối cùng, nếu bạn có tệp lô hiện có hoặc tập lệnh PowerShell mà bạn muốn kết hợp các lệnh vào, bạn có thể chạy lệnh Bash trực tiếp bằng cách sử dụng bash -c
chỉ huy.
Ví dụ: để chạy một lệnh Linux trong cửa sổ Command Prompt hoặc PowerShell, bạn có thể chạy lệnh sau:
bash -c "lệnh"
Thủ thuật này cho phép bạn thêm lệnh Bash vào tệp hàng loạt hoặc tập lệnh PowerShell. Cửa sổ Bash shell sẽ xuất hiện khi một lệnh Bash đang chạy.
Cập nhật: Nếu bạn đã cài đặt nhiều môi trường Linux, bạn có thể sử dụng lệnh wslconfig để chọn môi trường Linux mặc định được sử dụng khi bạn chạy bash -c
chỉ huy.
Để tạo một lối tắt cho một tập lệnh Bash từ bên trong Windows, chỉ cần tạo một lối tắt như bình thường. Đối với mục tiêu của lối tắt, hãy sử dụng bash -c
lệnh mà chúng tôi đã nêu ở trên và trỏ nó vào tập lệnh Bash mà bạn đã tạo.
Ví dụ: bạn sẽ chỉ một lối tắt tại ” bash -c "~ / myscript.sh"
”Để chạy tập lệnh ví dụ ở trên. Bạn cũng có thể chạy lệnh này từ cửa sổ Command Prompt hoặc PowerShell.