Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การแก้ไขปัญหา >> ข้อผิดพลาด Windows

วิธีรันไฟล์ SH บน Windows

ไฟล์สคริปต์ Bash (ไฟล์ SH) เขียนเป็นภาษาสคริปต์ Bash สำหรับ Linux ประกอบด้วยคำสั่งที่รันบนบรรทัดคำสั่งได้ปกติ ไฟล์เหล่านี้สามารถเรียกใช้ใน Terminal หรือเปิดด้วยดับเบิลคลิกได้ แต่ Windows ไม่รู้จักไฟล์ SH และไม่สามารถรันได้โดยตรง หากคุณต้องการรันไฟล์ SH บน Windows บทความนี้จะให้วิธีการทั้งหมดที่เป็นไปได้

ไฟล์ SH คืออะไร?

ไฟล์ SH (หรือไฟล์สคริปต์) คือสคริปต์ที่แอปพลิเคชัน Bash ใช้ โค้ดเขียนเป็นภาษา Bash นักพัฒนาโปรแกรมมักใช้ไฟล์เหล่านี้ เนื่องจากมีคำสั่งสำหรับรันโปรแกรม จึงสำคัญ แต่ไฟล์เหล่านี้เป็นสำหรับ Linux การรันบน Windows ต้องการซอฟต์แวร์หรือสภาพแวดล้อมพิเศษ ซึ่งเราจะแนะนำในวิธีต่างๆ ด้านล่าง

วิธีที่ 1: ใช้ Cygwin รันไฟล์ SH

Cygwin เป็นสภาพแวดล้อม Command Line แบบโอเพนซอร์ส คล้าย Unix ช่วยให้แอป Unix/Linux คอมไพล์และรันบน Windows จากอินเทอร์เฟซคล้าย Linux ด้วย Cygwin เราสามารถรันไฟล์ SH ได้ง่าย

  1. ไปที่เว็บไซต์ Cygwin โหลดไฟล์ติดตั้ง 32-bit หรือ 64-bit
  2. เปิดไฟล์ติดตั้ง ติดตามขั้นตอน ตัวเลือกต่างๆ เลือกตามต้องการ
  3. หลังติดตั้งเสร็จ เปิด Cygwin64 Terminal โดยดับเบิลคลิกไอคอน shortcut บนเดสก์ท็อป
  4. ใช้คำสั่งเปลี่ยนไดเรกทอรีไปที่ไฟล์:
    cd C:/Users/Username/Desktop
    แล้วรันไฟล์ SH:
    sh appuals.sh

วิธีที่ 2: ใช้ Windows Subsystem for Linux (WSL) บน Windows 10

WSL เป็นฟีเจอร์ที่รันบรรทัดคำสั่ง Linux บน Windows 10 เพิ่มเข้ามาตั้งแต่ 2016 คล้าย Wine บน Linux ที่รันโปรแกรม Windows ตอนนี้ Windows มี WSL สำหรับรันซอฟต์แวร์ Linux แต่การเปิดใช้และตั้งค่าต้องหลายขั้นตอน เราแบ่งเป็น 3 ขั้นตอนหลัก

ขั้นตอน 1: เปิดใช้งาน WSL

  1. กด Windows + R พิมพ์ appwiz.cpl กด Enter
  2. คลิก Turn Windows features on or off ด้านซ้าย
  3. เลื่อนลงล่าง ติ๊ก Windows Subsystem for Linux คลิก OK ติดตั้ง
  4. เสร็จแล้วไปขั้นตอนถัดไป

ขั้นตอน 2: ติดตั้ง Linux Distro สำหรับ Windows

มี 3 วิธีติดตั้ง distro แต่บางวิธีอาจไม่ทำงานกับบางคน เราให้ทั้ง 3 วิธี

  1. กด Windows + R พิมพ์ ms-windows-store: กด Enter
  2. ค้นหา Ubuntu คลิกที่แสดงในภาพ ดาวน์โหลด
  3. วิธีที่ 2: ใช้คำสั่ง PowerShell:
    Invoke-WebRequest -Uri https://aka.ms/wsl-ubuntu-1604 -OutFile Ubuntu.appx -UseBasicParsing
  4. วิธีที่ 3: ใช้คำสั่ง curl:
    curl.exe -L -o ubuntu-1604.appx https://aka.ms/wsl-ubuntu-1604
    หมายเหตุ: หาก Windows 10 build น้อยกว่า 1706 ต้องดาวน์โหลด curl เอง และ cd ไปที่ curl.exe แต่ถ้า build 1706 ขึ้นไป curl มีในตัว ต้องรัน cmd แบบ Admin
  5. หลังดาวน์โหลด distro จะติดตั้งอัตโนมัติ ต้องยอมรับและตั้ง username/password ใหม่

ขั้นตอน 3: เริ่มต้น Distro ใหม่และรันไฟล์ SH

  1. Distro ใหม่มักมีแพ็กเกจน้อย ต้องอัปเดตและอัปเกรด:
    sudo apt update && sudo apt upgrade
  2. เปลี่ยนไดเรกทอรีไปที่ไฟล์ SH:
    cd /mnt
    จะ mount ไดรฟ์ Windows แล้วไปที่ตำแหน่งไฟล์:
    cd c/Users/Username/Desktop/
  3. รันไฟล์ SH:
    sh appuals.sh

วิธีที่ 3: ใช้ Git Command Line รันไฟล์ SH

Git เป็นระบบควบคุมเวอร์ชันแบบกระจายโอเพนซอร์ส มีให้ทุก OS บน Linux/macOS ติดตั้งมาพร้อม командไลน์ สำหรับ Windows ดาวน์โหลดจากเว็บไซต์ทางการ

  1. ไปที่ลิงก์ Git ดาวน์โหลดสำหรับ OS ของคุณ
  2. ติดตั้ง Git เลือกตัวเลือกตามต้องการ
  3. กด Windows + S พิมพ์ Git Bash กด Enter
  4. เปลี่ยนไดเรกทอรีไปที่ไฟล์:
    cd desktop
    (desktop คือชื่อโฟลเดอร์ที่เก็บไฟล์)
  5. รันคำสั่ง SH:
    sh appuals.sh

วิธีที่ 4: แปลงไฟล์สคริปต์เป็น Batch File

วิธีนี้ไม่แนะนำให้ผู้ใช้ทั่วไป เหมาะสำหรับผู้รู้จักคำสั่ง script และ bat file หากคุณไม่แน่ใจอย่าใช้ เราจะแสดงขั้นตอนง่ายๆ สำหรับโค้ดตัวอย่าง

  1. คลิกขวา ไฟล์ SH เลือก Open with > Notepad
  2. ลบบรรทัด shebang ออกจากโค้ด หมายเหตุ: คอมเมนต์ใน bat ใช้ syntax :: แทน
  3. คลิก File > Save บันทึก
  4. คลิกซ้าย ไฟล์ SH กด F2 เปลี่ยนชื่อ นามสกุลจาก .sh เป็น .bat คลิก Yes
  5. กด Windows + S พิมพ์ cmd กด Enter
  6. cd ไปที่ไฟล์:
    cd desktop
  7. พิมพ์ชื่อไฟล์พร้อมนามสกุล:
    appuals.bat
    หมายเหตุ: syntax ของ script ไม่ทำงานใน bat file คอมเมนต์จะถูกละเว้น และข้อความพิมพ์ซ้ำหากไม่มี echo on/off