วิธีสร้างและเรียกใช้ Bash Shell Scripts บน Windows 10

ด้วยการมาถึงของ Bash shell ของ Windows 10 ตอนนี้คุณสามารถสร้างและเรียกใช้ Bash shell scripts บน Windows 10 ได้แล้วคุณยังสามารถรวมคำสั่ง Bash ลงในไฟล์แบตช์ Windows หรือสคริปต์ PowerShell

แม้ว่าคุณจะรู้ว่ากำลังทำอะไรอยู่ แต่ก็ไม่จำเป็นต้องง่ายอย่างที่คิด Windows และ UNIX ใช้อักขระสิ้นสุดของบรรทัดที่แตกต่างกันและระบบไฟล์ Windows สามารถเข้าถึงได้ในตำแหน่งอื่นในสภาพแวดล้อม Bash

วิธีการเขียน Bash Script บน Windows 10

ที่เกี่ยวข้อง: วิธีการติดตั้งและใช้งาน Linux Bash Shell บน Windows 10

เมื่อเขียนเชลล์สคริปต์บน Windows โปรดจำไว้ว่าระบบที่เหมือน Windows และ UNIX เช่น Linux ใช้อักขระ "end of line" ที่แตกต่างกันในไฟล์ข้อความในเชลล์สคริปต์

กล่าวอีกนัยหนึ่งหมายความว่าคุณไม่สามารถเขียนเชลล์สคริปต์ใน Notepad ได้ บันทึกไฟล์ใน Notepad และ Bash จะตีความไม่ถูกต้อง อย่างไรก็ตามคุณสามารถใช้โปรแกรมแก้ไขข้อความขั้นสูงได้มากขึ้นตัวอย่างเช่น Notepad ++ ช่วยให้คุณสามารถระบุอักขระสิ้นสุดบรรทัดของ UNIX ได้โดยคลิกแก้ไข> การแปลง EOL> รูปแบบ UNIX / OSX

อย่างไรก็ตามคุณควรเขียนเชลล์สคริปต์ในสภาพแวดล้อม Bash เองดีกว่า สภาพแวดล้อม Bash บน Ubuntu มาพร้อมกับทั้งตัวแก้ไขข้อความ vi และ nano ตัวแก้ไข vi มีประสิทธิภาพมากกว่า แต่ถ้าคุณไม่เคยใช้มาก่อนคุณอาจต้องการเริ่มต้นด้วยนาโน ใช้งานง่ายกว่าหากคุณเพิ่งเริ่มใช้งาน

ตัวอย่างเช่นในการสร้าง bash script ใน nano คุณต้องรันคำสั่งต่อไปนี้ใน bash:

นาโน ~ / myscript.sh

นี่จะเป็นการเปิดโปรแกรมแก้ไขข้อความ Nano โดยชี้ไปที่ไฟล์ชื่อ“ myscript.sh” ในโฮมไดเร็กทอรีของบัญชีผู้ใช้ของคุณ (อักขระ“ ~” แทนไดเร็กทอรีหลักของคุณดังนั้นเส้นทางแบบเต็มคือ /home/username/myscript.sh)

เริ่มเชลล์สคริปต์ของคุณด้วยบรรทัด:

#! / bin / ทุบตี

ที่เกี่ยวข้อง: คู่มือสำหรับผู้เริ่มต้นใช้งานเชลล์สคริปต์: พื้นฐาน

ป้อนคำสั่งที่คุณต้องการเรียกใช้แต่ละคำสั่งในบรรทัดของตัวเอง สคริปต์จะรันแต่ละคำสั่งตามลำดับ เพิ่มอักขระ“ #” หน้าบรรทัดเพื่อให้ถือว่าเป็น“ ความคิดเห็น” ซึ่งจะช่วยให้คุณและคนอื่นเข้าใจสคริปต์ แต่ไม่ได้เรียกใช้เป็นคำสั่ง สำหรับเคล็ดลับขั้นสูงเพิ่มเติมโปรดดูคำแนะนำโดยละเอียดเพิ่มเติมเกี่ยวกับ Bash scripts บน Linux เทคนิคเดียวกันนี้จะใช้ได้ใน Bash บน Ubuntu บน Windows

โปรดทราบว่าไม่มีวิธีใดในการเรียกใช้โปรแกรม Windows จากภายในสภาพแวดล้อม Bash คุณถูก จำกัด ไว้ที่คำสั่งเทอร์มินัล Linux และยูทิลิตี้เช่นเดียวกับที่คุณใช้ในระบบ Linux ทั่วไป

ตัวอย่างเช่นลองใช้สคริปต์ "hello world" พื้นฐานเป็นตัวอย่างที่นี่:

#! / bin / bash # ตั้งค่าตัวแปร STRING STRING = "Hello World!" # พิมพ์เนื้อหาของตัวแปรบนหน้าจอ echo $ STRING

หากคุณใช้โปรแกรมแก้ไขข้อความนาโนคุณสามารถบันทึกไฟล์ได้โดยกด Ctrl + O แล้วกด Enter ปิดตัวแก้ไขโดยกด Ctrl + X

ทำให้สคริปต์ดำเนินการได้จากนั้นเรียกใช้

คุณอาจต้องการให้สคริปต์ทำงานได้เพื่อให้คุณสามารถเรียกใช้งานได้ง่ายขึ้น บน Linux นั่นหมายความว่าคุณต้องให้สิทธิ์ในการปฏิบัติการแก่ไฟล์สคริปต์ ในการทำเช่นนั้นให้รันคำสั่งต่อไปนี้ในเทอร์มินัลชี้ไปที่สคริปต์ของคุณ:

chmod + x ~ / myscript.sh

ในการเรียกใช้สคริปต์ตอนนี้คุณสามารถเรียกใช้งานได้ในเทอร์มินัลโดยพิมพ์เส้นทาง เมื่อใดก็ตามที่คุณต้องการเรียกใช้สคริปต์ในอนาคตเพียงแค่เปิด Bash shell แล้วพิมพ์เส้นทางไปยังสคริปต์

~ / myscript.sh

(หากสคริปต์อยู่ในไดเร็กทอรีปัจจุบันคุณสามารถรันด้วย. /myscript.sh)

วิธีการทำงานกับไฟล์ Windows ใน Bash Script

ที่เกี่ยวข้อง: วิธีเข้าถึงไฟล์ Ubuntu Bash ของคุณใน Windows (และระบบ Windows ของคุณใน Bash)

ในการเข้าถึงไฟล์ Windows ในสคริปต์คุณจะต้องระบุพา ธ ของไฟล์นั้นภายใต้ / mnt / c ไม่ใช่พา ธ ของ Windows ตัวอย่างเช่นหากคุณต้องการระบุไฟล์ C: \ Users \ Bob \ Downloads \ test.txt คุณจะต้องระบุเส้นทาง /mnt/c/Users/Bob/Downloads/test.txt ดูคำแนะนำเกี่ยวกับตำแหน่งไฟล์ใน Bash shell ของ Windows 10 สำหรับรายละเอียดเพิ่มเติม

วิธีการรวม Bash Commands เข้ากับ Batch หรือ PowerShell Script

ที่เกี่ยวข้อง: วิธีตั้งค่าการแจกจ่าย Linux เริ่มต้นของคุณบน Windows 10

สุดท้ายหากคุณมีไฟล์แบตช์หรือสคริปต์ PowerShell ที่คุณต้องการรวมคำสั่งเข้าไว้คุณสามารถเรียกใช้คำสั่ง Bash ได้โดยตรงโดยใช้bash -cคำสั่ง

ตัวอย่างเช่นหากต้องการเรียกใช้คำสั่ง Linux ในหน้าต่าง Command Prompt หรือ PowerShell คุณสามารถเรียกใช้คำสั่งต่อไปนี้:

bash -c "คำสั่ง"

เคล็ดลับนี้ช่วยให้คุณสามารถเพิ่มคำสั่ง Bash ลงในไฟล์แบตช์หรือสคริปต์ PowerShell หน้าต่าง Bash shell จะปรากฏขึ้นเมื่อคำสั่ง Bash ทำงาน

อัปเดต : หากคุณติดตั้งสภาพแวดล้อม Linux หลายรายการคุณสามารถใช้คำสั่ง wslconfig เพื่อเลือกสภาพแวดล้อม Linux เริ่มต้นที่ใช้เมื่อคุณรันbash -cคำสั่ง

หากต้องการสร้างทางลัดไปยังสคริปต์ Bash จากใน Windows ให้สร้างทางลัดตามปกติ สำหรับเป้าหมายของทางลัดให้ใช้bash -cคำสั่งที่เราระบุไว้ด้านบนและชี้ไปที่สคริปต์ Bash ที่คุณสร้างขึ้น

ตัวอย่างเช่นคุณจะชี้ทางลัดที่” bash -c "~/myscript.sh"” เพื่อเรียกใช้สคริปต์ตัวอย่างด้านบน คุณสามารถเรียกใช้คำสั่งนี้จากหน้าต่างพร้อมรับคำสั่งหรือ PowerShell ได้เช่นกัน