Làm cách nào để chạy tập lệnh shell trong Windows? [bản sao]


23

Tôi là người dùng Mac và mới sử dụng Windows. Làm cách nào để thực thi tập lệnh shell trong Windows?

Nói chung, tôi sẽ lưu tệp văn bản với phần mở rộng .shvà chạy nó qua Terminal. Nhưng làm thế nào tôi có thể làm điều đó trong Windows?


1
Tập tin hàng loạt. vi.wikipedia.org/wiki/Batch_file
Kenaniah

2
Bạn có thể cung cấp một ví dụ về tập lệnh mà bạn muốn chạy trên Windows không?

1
Bạn đang tìm cách để chạy một .shkịch bản shell có sẵn ? Hay chỉ muốn biết làm thế nào để script cho Windows?
Keltari

Câu trả lời:


30

Các tập lệnh có .shhậu tố thường là các tập lệnh shell Bourne (hoặc bash, hoặc ksh hoặc zsh - tất cả các shell có nguồn gốc từ shell Bourne). (Lưu ý rằng trên các hệ thống giống Unix, bao gồm MacOS, .shhậu tố không cần thiết; HĐH nhìn vào #!/bin/shdòng ở đầu tập lệnh để xác định cách thực thi.)

Windows không cung cấp lớp vỏ giống như Bourne.

Bạn có thể cài đặt Cygwin , nơi cung cấp môi trường giống Unix trong Windows - nhưng nó không có môi trường "bản địa" đặc biệt. (Nhận xét của biên tập: Cygwin rất tốt cho những người như tôi, những người cần sử dụng Windows nhưng thực sự muốn sử dụng Unix.)

Có các hệ thống con giống Unix khác chạy trong Windows, bao gồm MinGWWindows Services cho gói UNIX do Microsoft cung cấp.

Hoặc, thay vì cố gắng viết và chạy các kịch bản shell giống Unix, bạn có thể viết các tệp bó Windows. Những thường có một .bathoặc .cmdhậu tố. Chúng sử dụng các lệnh và cú pháp tương tự như dấu nhắc lệnh tương tác của Windows.

Ngoài ra còn có Windows PowerShell tương đối mới ; Tôi không quen thuộc với nó, nhưng tôi đã nghe những điều tốt về nó.


3
Tôi sẽ gửi lại đề xuất powershell với tư cách là người dùng powershell đã viết một số tập lệnh để thực hiện mọi thứ từ khởi động lại máy tính từ xa hoặc tắt dịch vụ trên máy tính từ xa để lấy danh sách tên máy tính từ thư mục hoạt động, sắp xếp theo thứ tự chúng và kiểm tra từng dịch vụ nhất định và thực hiện di chuyển tập tin lớn phức tạp. Nó thực sự có thể làm điều đó TẤT CẢ trong các cửa sổ.
Paperlogio

1
Điều đáng chú ý là mặc dù cygwin có thể cho phép tập lệnh chạy, nhưng nó có thể không chạy chính xác nếu nó đưa ra một số giả định về hệ thống cơ bản (ví dụ, các tệp nhị phân có sẵn, bố cục hệ thống tệp, v.v.)
Daenyth

7

Bạn có thể sử dụng Cygwin . Nó cung cấp linux như môi trường trong windows.


2

Trên Win các phần mở rộng phổ biến là .bathoặc .cmd. Một nguồn tốt cho các lệnh được sử dụng trong Windows shell là ss64 - cho CMD và PowerShell.

Cygwin không phải là "phải". Nó chỉ mang đến cho bạn phong cách Linux - sử dụng BASH trên Win.


2

Thế còn UWIN ??

UWIN là gói phần mềm máy tính được tạo bởi David Korn, cho phép các chương trình được viết cho hệ điều hành Unix được xây dựng và chạy trên Microsoft Windows với rất ít thay đổi. Một số phần mềm phát triển được ký hợp đồng phụ cho Wipro, Ấn Độ.

Kiểm tra UWIN này - Unix cho Windows

Các tính năng nổi bật của UWIN

  1. Truy cập vào hầu hết tất cả các công cụ dòng lệnh từ Unix trên windows. Chính xác là 245 công cụ dòng lệnh.
  2. Đi kèm với trình biên dịch Unix 'cc' ban đầu cũng như rất nhiều công cụ như 'make' và các thư viện cần thiết cho phép các ứng dụng Unix được xây dựng và chạy trên các máy Windows với rất ít hoặc không có thay đổi trong mã nguồn.
  3. Tùy chọn sử dụng các trình biên dịch khác như Visual C ++ hoặc Mingw để biên dịch chương trình. Gói Perl đầy đủ.
  4. Thư viện X windows cho những ai muốn phát triển ứng dụng X trên windows. Mặc dù để chạy các ứng dụng đó trong Windows, bạn cần một máy chủ X không đi kèm với UWIN.
  5. UWIN đi kèm với một applet của bảng điều khiển (được truy cập thông qua 'Bắt ​​đầu-> Cài đặt-> Bảng điều khiển-> UWIN') có thể được sử dụng để định cấu hình một số tham số hệ thống UWIN.

Công dụng của UWIN

  • Chạy các ứng dụng Unix nguyên bản trong Windows ở tốc độ tối đa.
  • Sử dụng toàn bộ sức mạnh của các công cụ dòng lệnh Unix trên Windows.
  • Vỏ korn đi kèm với UWIN làm cho người dùng Unix cảm thấy như đang ở nhà trong môi trường Windows.
  • Phát triển và chạy các ứng dụng UNIX trên Windows.
  • Phát triển các ứng dụng X trên nền tảng Windows.

Hạn chế của UWIN

  • UWIN không đi kèm với máy chủ X nên người dùng sẽ không thể chạy các ứng dụng X trên windows. Mặc dù có các máy chủ X thương mại của bên thứ ba có sẵn có thể lấp đầy khoảng trống này.
  • UWIN không được phát hành theo GPL nhưng được tải xuống và sử dụng miễn phí cho mục đích giáo dục và phi thương mại

Phần mềm đó được sử dụng để dạy cho chúng tôi Lệnh Linux khi tôi học đại học .. thực sự tốt ..


Tham chiếu: WikiPedia

Cygwin là một môi trường và giao diện dòng lệnh giống như Unix cho Microsoft Windows.

Điều hay là Cygwin cung cấp tích hợp riêng các ứng dụng, dữ liệu dựa trên Windows và các tài nguyên hệ thống khác với các ứng dụng, công cụ phần mềm và dữ liệu của môi trường giống Unix.

Interix
Interix là một thành phần của bản phát hành Dịch vụ cho Unix (SFU) 3.0 và 3.5 ( bản cuối cùng này được phân phối tự do ).

Các phiên bản gần đây nhất của Interix, 5.2 và 6.0, là các thành phần của Windows Server 2003 R2, Windows Vista Enterprise và phiên bản Ultimate và Windows Server 2008 dưới tên SUA (Hệ thống con cho các ứng dụng dựa trên Unix) Phiên bản 6.1 được bao gồm trong Windows 7 ( Enterprise và Ultimate) và Windows Server 2008 R2 (tất cả các phiên bản)


2

Có một cách khác để làm điều này với bản cập nhật Anniversary cho Windows 10 . Hiện tại đã có một vỏ Bash (Ubuntu) có sẵn trong Windows.

Để sử dụng nó, bạn cần cài đặt tính năng này vì nó không được bật theo mặc định.

  1. Chuyển đến Control Panel-> Programs-> Turn Windows Features On and Off.

  2. Chọn hộp kiểm cho Windows Subsystem for Linux (Beta). Điều này sẽ cài đặt tính năng và nhắc nhở để khởi động lại.

Sau đó, bạn có thể mở một dấu nhắc lệnh thông qua chạy -> cmdsau đó nhập bashhoặc chạy -> bash.exe.

Điều này sẽ cung cấp cho bạn một bash shell không có máy ảo hoặc Cygwin hoặc hộp ảo.


1

Mặc dù các câu trả lời hiện có ở đây là chính xác tại thời điểm đó, Windows 10 hiện có tùy chọn bao gồm một phiên bản Ubuntu đã sửa đổi chạy vỏ bash đầy đủ .

Sau khi cài đặt, bạn có thể mở dấu nhắc bash (giống như thiết bị đầu cuối trong OS X / macOS) và chạy tập lệnh như bình thường, nghĩa là:

chmod +x myscript.sh
./myscript.sh

Nếu bạn muốn chạy tập lệnh trực tiếp từ Windows, bạn có thể tạo một lối tắt trong cùng thư mục và đặt 'Target' thành một cái gì đó như:

C:\Windows\System32\bash.exe -c "./myscript.sh"

Nếu đường dẫn của tập lệnh của bạn có liên quan đến vị trí của phím tắt (như ví dụ ở trên), hãy đảm bảo trường 'Bắt ​​đầu trong' cũng trống.


0

Bạn sẽ cần CygWin, và sau đó tôi tin rằng bạn sẽ có thể chạy:

sh yourscript.sh

0

Câu trả lời đúng được đưa ra trong một nhận xét của Kenaniah, bạn phải sử dụng các tệp bó . Bạn cần đặt tên tệp mã shell của mình thành * .bat, sau đó bạn có thể chạy nó bằng cách nhấp vào nó hoặc chỉ cần nhập tên của nó trong thiết bị đầu cuối. Lưu ý rằng thiết bị đầu cuối windows không hoạt động chính xác như thiết bị đầu cuối unix. Bạn sẽ tìm thấy nhiều trợ giúp và hướng dẫn cho các lệnh và cú pháp trên tất cả các trang web. Ngoài ra còn có khả năng sử dụng Windows PowerShell , có vẻ giống unix hơn.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.