วิธีสร้างและรัน Bash Shell Scripts บน Windows 10
ด้วยการมาถึงของเปลือก Bash ของ Windows 10 ตอนนี้คุณสามารถสร้างและเรียกใช้สคริปต์เปลือก Bash ใน Windows 10 คุณยังสามารถรวมคำสั่ง Bash ลงในไฟล์แบตช์ Windows หรือสคริปต์ PowerShell.
แม้ว่าคุณจะรู้ว่าคุณกำลังทำอะไรอยู่มันก็ไม่ได้ง่ายอย่างที่คิด Windows และ UNIX ใช้อักขระสิ้นสุดบรรทัดที่แตกต่างกันและระบบไฟล์ Windows สามารถเข้าถึงได้ในตำแหน่งอื่นในสภาพแวดล้อม Bash.
วิธีเขียนสคริปต์ Bash บน Windows 10
เมื่อเขียนเชลล์สคริปต์บน Windows โปรดทราบว่าระบบที่คล้ายกับ Windows และ UNIX เช่น Linux ใช้อักขระ“ end of line” ที่แตกต่างกันในไฟล์ข้อความในเชลล์สคริปต์.
กล่าวอีกนัยหนึ่งนั่นหมายความว่าคุณไม่สามารถเขียนเชลล์สคริปต์ใน Notepad ได้ บันทึกไฟล์ใน Notepad และ Bash จะตีความไม่ถูกต้อง อย่างไรก็ตามคุณสามารถใช้ตัวแก้ไขข้อความขั้นสูงเพิ่มเติมได้เช่น Notepad ++ ช่วยให้คุณสามารถให้ไฟล์อักขระ UNIX ตอนท้ายของบรรทัดได้โดยคลิกแก้ไข> การแปลง EOL> รูปแบบ UNIX / OSX.
อย่างไรก็ตามคุณควรที่จะเขียน shell script ใน Bash environment สภาพแวดล้อมการทุบตีบน Ubuntu มาพร้อมกับโปรแกรมแก้ไขข้อความ vi และนาโน เครื่องมือแก้ไข vi มีประสิทธิภาพมากกว่า แต่หากคุณไม่เคยใช้มาก่อนคุณอาจต้องการเริ่มต้นด้วยนาโน มันง่ายกว่าที่จะใช้ถ้าคุณใหม่.
ตัวอย่างเช่นหากต้องการสร้างสคริปต์ทุบตีในนาโนคุณจะต้องรันคำสั่งต่อไปนี้ในทุบตี:
นาโน ~ / myscript.sh
สิ่งนี้จะเปิดตัวแก้ไขข้อความแบบนาโนที่ชี้ไปที่ไฟล์ชื่อ“ myscript.sh” ในไดเรกทอรีหลักของบัญชีผู้ใช้ของคุณ (อักขระ“ ~” แสดงถึงโฮมไดเร็กตอรี่ของคุณดังนั้นพา ธ แบบเต็มคือ /home/username/myscript.sh.)
เริ่มเชลล์สคริปต์ของคุณด้วยบรรทัด:
#! / bin / ทุบตี
ป้อนคำสั่งที่คุณต้องการเรียกใช้แต่ละคำสั่งในบรรทัดของตัวเอง สคริปต์จะรันแต่ละคำสั่งตามลำดับ เพิ่มอักขระ“ #” หน้าบรรทัดเพื่อถือว่าเป็น“ ความคิดเห็น” สิ่งที่ช่วยให้คุณและคนอื่น ๆ เข้าใจสคริปต์ แต่คำสั่งนั้นไม่ทำงาน สำหรับเคล็ดลับขั้นสูงเพิ่มเติมดูคู่มือรายละเอียดเพิ่มเติมเกี่ยวกับสคริปต์ Bash บน Linux เทคนิคเดียวกันนี้จะทำงานใน Bash บน Ubuntu บน Windows.
โปรดทราบว่าไม่มีวิธีการเรียกใช้โปรแกรม Windows จากภายในสภาพแวดล้อม Bash คุณถูก จำกัด ให้ใช้คำสั่งและยูทิลิตี้เทอร์มินัลของ Linux เช่นเดียวกับที่คุณใช้กับระบบ Linux ทั่วไป.
ตัวอย่างเช่นลองใช้สคริปต์“ hello world” พื้นฐานเป็นตัวอย่างที่นี่:
#! / bin / bash # ตั้งค่าตัวแปร STRING STRING = "Hello World!" # พิมพ์เนื้อหาของตัวแปรบนหน้าจอ echo $ STRING
หากคุณใช้โปรแกรมแก้ไขข้อความ Nano คุณสามารถบันทึกไฟล์ได้โดยกด Ctrl + O แล้วกด Enter ปิดเครื่องมือแก้ไขโดยกด Ctrl + X.
ทำให้สคริปต์ทำงานได้แล้วเรียกใช้
คุณอาจต้องการทำให้สคริปต์ทำงานได้เพื่อให้คุณสามารถเรียกใช้ได้ง่ายขึ้น บน Linux นั่นหมายความว่าคุณต้องให้สิทธิ์ไฟล์ที่สามารถเรียกทำงานกับไฟล์สคริปต์ได้ หากต้องการทำเช่นนั้นให้รันคำสั่งต่อไปนี้ในเทอร์มินัลชี้ไปที่สคริปต์ของคุณ:
chmod + x ~ / myscript.sh
หากต้องการเรียกใช้สคริปต์คุณสามารถเรียกใช้สคริปต์ในเทอร์มินัลได้โดยพิมพ์พา ธ ของสคริปต์ เมื่อใดก็ตามที่คุณต้องการเรียกใช้สคริปต์ในอนาคตเพียงเปิดเปลือก Bash และพิมพ์เส้นทางไปยังสคริปต์.
~ / myscript.sh
(หากสคริปต์อยู่ในไดเรกทอรีปัจจุบันคุณสามารถเรียกใช้ได้ด้วย. /myscript.sh)
วิธีทำงานกับไฟล์ Windows ใน Bash Script
ในการเข้าถึงไฟล์ Windows ในสคริปต์คุณจะต้องระบุพา ธ ของไฟล์เหล่านั้นใน / mnt / c ไม่ใช่พา ธ Windows ของพวกเขา ตัวอย่างเช่นหากคุณต้องการระบุไฟล์ C: \ Users \ Bob \ Downloads \ test.txt คุณจะต้องระบุพา ธ /mnt/c/Users/Bob/Downloads/test.txt ศึกษาคำแนะนำเกี่ยวกับตำแหน่งไฟล์ในเชลล์ Bash ของ Windows 10 สำหรับรายละเอียดเพิ่มเติม.
วิธีการรวมคำสั่ง Bash เป็นสคริปต์แบบแบตช์หรือ PowerShell
สุดท้ายหากคุณมีไฟล์แบตช์ที่มีอยู่หรือสคริปต์ PowerShell ที่คุณต้องการรวมคำสั่งเข้าไปคุณสามารถเรียกใช้คำสั่ง Bash โดยตรงโดยใช้ ทุบตี -c
คำสั่ง.
ตัวอย่างเช่นในการรันคำสั่ง Linux ในหน้าต่าง Command Prompt หรือ PowerShell คุณสามารถเรียกใช้คำสั่งต่อไปนี้:
bash -c "คำสั่ง"
เคล็ดลับนี้ช่วยให้คุณเพิ่มคำสั่ง Bash ลงในไฟล์แบตช์หรือสคริปต์ PowerShell หน้าต่าง Bash shell จะปรากฏขึ้นเมื่อคำสั่ง Bash ทำงาน.
ปรับปรุง: หากคุณติดตั้งสภาพแวดล้อม Linux หลายตัวคุณสามารถใช้คำสั่ง wslconfig เพื่อเลือกสภาพแวดล้อม Linux เริ่มต้นที่ใช้เมื่อคุณรัน ทุบตี -c
คำสั่ง.
หากต้องการสร้างทางลัดไปยังสคริปต์ Bash จากภายใน Windows เพียงสร้างทางลัดอย่างปกติ สำหรับเป้าหมายของทางลัดให้ใช้ ทุบตี -c
คำสั่งที่เราอธิบายไว้ข้างต้นและชี้ไปที่สคริปต์ทุบตีที่คุณสร้างขึ้น.
ตัวอย่างเช่นคุณจะชี้ทางลัดไปที่ " bash -c "~ / myscript.sh"
” เพื่อเรียกใช้สคริปต์ตัวอย่างด้านบน นอกจากนี้คุณยังสามารถเรียกใช้คำสั่งนี้จากหน้าต่างพร้อมรับคำสั่งหรือ PowerShell ได้เช่นกัน.