Làm thế nào để tạo và chạy Bash Shell Scripts trên Windows 10

Mục lục:

Làm thế nào để tạo và chạy Bash Shell Scripts trên Windows 10
Làm thế nào để tạo và chạy Bash Shell Scripts trên Windows 10

Video: Làm thế nào để tạo và chạy Bash Shell Scripts trên Windows 10

Video: Làm thế nào để tạo và chạy Bash Shell Scripts trên Windows 10
Video: Hướng dẫn ảo thuật với máy tính - YouTube 2024, Tháng tư
Anonim
Với sự xuất hiện của shell Bash của Windows 10, bây giờ bạn có thể tạo và chạy các kịch bản shell Bash 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 tin batch của Windows hoặc tập lệnh PowerShell.
Với sự xuất hiện của shell Bash của Windows 10, bây giờ bạn có thể tạo và chạy các kịch bản shell Bash 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 tin batch của Windows hoặc tập lệnh PowerShell.

Ngay cả khi bạn biết những gì bạn đang làm, điều này không nhất thiết đơn giản như nó có vẻ. 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 ở một vị trí khác trong môi trường Bash.

Làm thế nào để viết một kịch bản Bash trên Windows 10

Khi viết các kịch bản shell trên Windows, hãy nhớ rằng các hệ thống giống như 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 kịch bản lệnh shell.

Nói cách khác, điều này có nghĩa là bạn không thể viết kịch bản lệnh shell trong Notepad. Lưu tệp trong Notepad và nó sẽ không được Bash giải nghĩa đúng cách. 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 một tệp UNIX ký tự cuối dòng 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 là bạn chỉ cần viết kịch bản 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 mẽ 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. Sẽ dễ sử dụng hơn nếu bạn mới sử dụng.
Tuy nhiên, tốt hơn là bạn chỉ cần viết kịch bản 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 mẽ 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. Sẽ dễ sử dụng hơn nếu bạn mới sử dụng.

Ví dụ: để tạo tập lệnh bash bằng 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 chỉ vào 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 kịch bản shell của bạn với dòng:
Bắt đầu kịch bản shell của bạn với dòng:

#!/bin/bash

Nhập các lệnh bạn muốn chạy, mỗi lệnh trên một dòng riêng. Kịch bản sẽ chạy mỗi lệnh lần lượt. Thêm ký tự "#" trước một dòng để coi nó là "nhận xét", một thứ giúp bạn và những người khác hiểu được tập lệnh nhưng không chạy dưới dạng lệnh. Để biết thêm các thủ thuật nâng cao, 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 của Linux, giống như bạn đang sử dụng trên một hệ thống Linux điển hình.

Ví dụ: hãy sử dụng tập lệnh “hello world” cơ bản làm ví dụ tại đây:

#!/bin/bash # set the STRING variable STRING='Hello World!' # print the contents of the variable on screen echo $STRING

Nếu bạn đ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.

Image
Image

Làm cho tập lệnh thực thi và sau đó chạy nó

Có thể bạn sẽ muốn làm cho tập lệnh thực thi để 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 phải cung cấp cho tập tin kịch bản quyền thực thi. Để làm như vậy, hãy chạy lệnh sau trong terminal, trỏ nó vào script của bạn:

chmod +x ~/myscript.sh

Để chạy kịch bản, bạn có thể chạy nó trong terminal bằng cách gõ đường dẫn của nó. Bất cứ khi nào bạn muốn khởi chạy tập lệnh trong tương lai, chỉ cần mở vỏ Bash và nhập đường dẫn đến tập lệnh.
Để chạy kịch bản, bạn có thể chạy nó trong terminal bằng cách gõ đường dẫn của nó. Bất cứ khi nào bạn muốn khởi chạy tập lệnh trong tương lai, chỉ cần mở vỏ Bash và nhập đường dẫn đến tập lệnh.

~/myscript.sh

(Nếu tập lệnh nằm trong thư mục hiện tại, bạn có thể chạy tập lệnh đó bằng./myscript.sh)

Image
Image

Làm thế nào để làm việc với các tập tin Windows trong một kịch bản Bash

Để truy cập tệp Windows trong tập lệnh, bạn cần chỉ định đường dẫn của mình trong / 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 vỏ Bash của Windows 10 để biết thêm chi tiết.

Làm thế nào để kết hợp các lệnh Bash thành tập lệnh Batch hoặc PowerShell

Cuối cùng, nếu bạn có một tập tin batch hiện có hoặc kịch bản PowerShell bạn muốn kết hợp các lệnh vào, bạn có thể chạy các 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 'command'

Thủ thuật này cho phép bạn thêm các lệnh Bash vào các tập tin batch hoặc các kịch bản PowerShell. Cửa sổ trình bao Bash sẽ xuất hiện khi lệnh Bash đang chạy.

Cập nhật: Nếu bạn có nhiều môi trường Linux được cài đặt, 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.

Image
Image

Để tạo một shortcut cho một kịch bản Bash từ bên trong Windows, bạn chỉ cần tạo một shortcut như bình thường. Đối với mục tiêu của phím tắt, hãy sử dụng

bash -c

lệnh mà chúng tôi đã phác thảo ở trên và trỏ nó vào tập lệnh Bash 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 mẫu ở trên. Bạn cũng có thể chạy lệnh này từ cửa sổ Command Prompt hoặc PowerShell.

Đề xuất: