วิธีเรียกใช้สคริปต์เชลล์ (.sh) บน macOS

ในการเรียกใช้สคริปต์เชลล์บน macOSให้เปิด Terminal ไปที่โฟลเดอร์ที่มี.shไฟล์ และเรียกใช้ด้วยตัวแปลภาษาของสคริปต์นั้น ตัวอย่างเช่นbash hello.shคำสั่ง `run` จะเรียกใช้สคริปต์ Bash โดยไม่ต้องเปลี่ยนสิทธิ์การเข้าถึง หากคุณต้องการเรียกใช้เป็นคำสั่ง ให้ทำให้ไฟล์นั้นสามารถเรียกใช้งานได้ด้วยคำสั่ง `executable` chmod +x hello.shจากนั้นเรียกใช้คำ สั่ง `executable` ./hello.shวิธีการเหล่านี้ใช้ได้กับ macOS เวอร์ชันปัจจุบัน

ตรวจสอบสคริปต์ก่อนเรียกใช้งาน

สคริปต์เชลล์เป็นไฟล์ข้อความธรรมดาที่มีคำสั่งต่างๆ คำสั่งเหล่านั้นจะทำงานด้วยสิทธิ์ของบัญชีผู้ใช้ของคุณ ดังนั้นสคริปต์จึงสามารถแก้ไขหรือลบไฟล์ ติดตั้งซอฟต์แวร์ หรือส่งข้อมูลผ่านเครือข่ายได้ อ่านสคริปต์ที่คุณได้รับก่อนเรียกใช้ โดยเฉพาะอย่างยิ่งหากสคริปต์นั้นขอรหัสผ่านผู้ดูแลระบบหรือใช้คำสั่ง `sudo accretionary` ควรsudoเรียกใช้สคริปต์จากแหล่งที่คุณเชื่อถือเท่านั้น การเปลี่ยนสิทธิ์ของไฟล์ไม่ได้ทำให้เนื้อหาของไฟล์ปลอดภัย

Apple อธิบายว่าสคริปต์เชลล์คือไฟล์ข้อความที่ประกอบด้วยคำสั่ง UNIX และอธิบายวิธีการใช้ shebang เพื่อเลือกเชลล์ที่จะรันสคริปต์ ดูคู่มือการใช้งานเทอร์มินัลของ Apple เกี่ยวกับ สคริปต์เชลล์

เรียกใช้สคริปต์ .sh ด้วย Bash

นี่เป็นวิธีที่ง่ายที่สุดในการเรียกใช้สคริปต์ Bash คุณไม่จำเป็นต้องเพิ่มสิทธิ์ในการเรียกใช้งานก่อน

  1. สร้างหรือค้นหาสคริปต์สคริปต์เชลล์สามารถเขียนได้ในโปรแกรมแก้ไขข้อความธรรมดาใดก็ได้ สำหรับการทดสอบอย่างรวดเร็ว ให้เปิด TextEdit เลือกFormat > Make Plain Textแล้วป้อนสองบรรทัดนี้:
#!/bin/bash
echo "Hello from macOS"

บันทึกไฟล์เป็นhello.sh. ในกล่องโต้ตอบการบันทึก ตรวจสอบว่าชื่อไฟล์ลงท้ายด้วย.shและ TextEdit ไม่ได้เพิ่ม.txt. บรรทัดแรกคือ shebang: ซึ่งใช้ระบุว่า Bash เป็นตัวแปลภาษาเมื่อสคริปต์ถูกเรียกใช้โดยตรง บรรทัดที่สองจะพิมพ์ข้อความสั้นๆ

โปรแกรม TextEdit ในโหมดข้อความธรรมดาแสดงไฟล์ hello.sh พร้อมด้วย shebang ของ Bash และคำสั่ง echo
ไฟล์ hello.sh ตัวอย่างประกอบด้วย shebang ตามด้วยคำสั่งที่ใช้พิมพ์ข้อความ
  1. เปิด Terminal แล้วไปที่โฟลเดอร์ของไฟล์กด Command-Space พิมพ์ Terminal แล้วกด Enter หากคุณบันทึกไฟล์ไว้ใน Downloads ให้ป้อน:
cd ~/Downloads

กด Enter หลังจากแต่ละคำสั่ง คุณสามารถพิมพ์lsเพื่อแสดงรายการไฟล์และยืนยันว่าไฟล์นั้นhello.shมีอยู่จริง เปลี่ยนDownloadsไปยังโฟลเดอร์ที่คุณใช้จริง หากชื่อโฟลเดอร์หรือไฟล์มีช่องว่าง ให้ใส่เส้นทางไว้ในเครื่องหมายอัญประกาศ เช่นcd "$HOME/My Scripts".

แสดงไฟล์ hello.sh ในเทอร์มินัลของโฟลเดอร์ดาวน์โหลด หลังจากเปลี่ยนไดเร็กทอรีแล้ว
ใช้คำสั่ง cd เพื่อเปิดโฟลเดอร์ที่มีสคริปต์ จากนั้นตรวจสอบชื่อโฟลเดอร์ด้วยคำสั่ง ls
  1. เรียกใช้สคริปต์ด้วย Bashป้อนชื่อสคริปต์หลังเครื่องหมายโคลอนbash(:)
bash hello.sh

หน้าต่างเทอร์มินัลควรแสดงข้อความHello from macOSว่า ถ้าสคริปต์ใช้ไวยากรณ์ Zsh แทน Bash ให้รันคำสั่ง `zsh -l` zsh hello.shโดยปกติแล้วเชลล์ที่เปิดขึ้นมาในโหมดโต้ตอบในเทอร์มินัลคือ Zsh แต่ไม่ได้หมายความว่าทุกสคริปต์จะต้องรันด้วย Zsh ให้ใช้ตัวแปลภาษาที่สคริปต์นั้นเขียนขึ้นมา โดยปกติแล้ว shebang ของสคริปต์จะระบุตัวแปลภาษานั้น

เรียกใช้สคริปต์ในรูปแบบไฟล์ปฏิบัติการ

คุณยังสามารถเรียกใช้สคริปต์โดยตรงได้โดยใช้พาธของไฟล์ วิธีนี้มีประโยชน์เมื่อคุณต้องการเรียกใช้สคริปต์เหมือนคำสั่งขนาดเล็กคำแนะนำของ Apple เกี่ยวกับการสร้างไฟล์ที่สามารถเรียกใช้งานได้ในเทอร์มินัลนั้นใช้chmodขั้นตอนนี้เช่นกัน

  1. ให้สิทธิ์ในการเรียกใช้งานในหน้าต่างเทอร์มินัลและโฟลเดอร์เดียวกัน ให้รันคำสั่งต่อไปนี้:
chmod +x hello.sh

คำสั่งนี้จะเพิ่มสิทธิ์ในการเรียกใช้งานให้กับไฟล์นี้ การเปลี่ยนแปลงนี้มีผลเพียงครั้งเดียว เว้นแต่จะมีการรีเซ็ตสิทธิ์ในภายหลัง หลีกเลี่ยงการตั้งค่าสิทธิ์ที่กว้างเกินความจำเป็น การchmod +xตั้งค่านี้ก็เพียงพอแล้วสำหรับสคริปต์ส่วนตัวของคุณ

หน้าต่างเทอร์มินัลแสดงข้อความว่า chmod plus x ถูกใช้กับ hello.sh แล้ว
คำสั่ง chmod +x จะกำหนดให้ไฟล์ hello.sh สามารถเรียกใช้งานได้
  1. เรียกใช้งานจากโฟลเดอร์ปัจจุบันพิมพ์:
./hello.sh

คำสั่งนี้./บอกให้เชลล์เรียกใช้ไฟล์ในไดเร็กทอรีปัจจุบัน หากไม่มีคำสั่งนี้ เชลล์จะค้นหาในโฟลเดอร์ที่ระบุไว้ในรายการPATHแทนที่จะเป็นโฟลเดอร์ปัจจุบัน หากคุณอยู่ที่อื่น ให้ใช้คำสั่งเพื่อcdกลับไปยังโฟลเดอร์ของสคริปต์ หรือป้อนพาธแบบเต็ม เช่น~/Downloads/hello.sh

กำลังรันเทอร์มินัลด้วยคำสั่ง ./hello.sh และแสดงข้อความ Hello จาก macOS
การเรียกใช้ ./hello.sh จะเริ่มสคริปต์ที่ทำงานได้และแสดงผลลัพธ์

ข้อผิดพลาดทั่วไปและวิธีแก้ไข

  • ข้อความ “Permission denied” หลังจากใช้งาน./hello.sh:โปรดตรวจสอบชื่อไฟล์ จากนั้นจึงเรียกใช้chmod +x hello.shหรือใช้bash hello.shหากเป็นสคริปต์ Bash และคุณไม่ต้องการเรียกใช้งานโดยตรง
  • “ไม่มีไฟล์หรือไดเร็กทอรีดังกล่าว”:ยืนยันโฟลเดอร์ด้วยคำสั่ง `npm install` pwd, แสดงรายการเนื้อหาด้วยคำสั่ง `npm list` ls, และตรวจสอบการสะกดและการใช้ตัวพิมพ์ใหญ่ ตรวจสอบให้แน่ใจว่าไฟล์นั้นไม่ได้ชื่อว่าhello.sh.txt`.`
  • ข้อความ “ไม่พบคำสั่ง” ภายในสคริปต์:สคริปต์อาจต้องพึ่งพาโปรแกรมเสริมบางตัวที่หายไปหรือไม่มีอยู่ในระบบPATHโปรดตรวจสอบเอกสารประกอบของสคริปต์ก่อนติดตั้งสิ่งใดๆ
  • ข้อความ "ตัวแปลภาษาไม่ถูกต้อง" หรือข้อผิดพลาดที่ระบุว่า^M:บรรทัดแรกอาจชี้ไปยังตัวแปลภาษาที่ไม่พร้อมใช้งาน หรือไฟล์อาจใช้การขึ้นบรรทัดใหม่แบบ Windows ตรวจสอบ shebang และบันทึกไฟล์โดยใช้การขึ้นบรรทัดใหม่แบบ Unix (LF)

คุณควรใช้วิธีใด?

ใช้bash hello.shสำหรับการเรียกใช้งานอย่างรวดเร็วเมื่อคุณรู้ว่าเป็นสคริปต์ Bash ใช้chmod +x hello.shตามด้วย./hello.shเมื่อคุณต้องการเรียกใช้งานโดยตรงและให้ shebang เลือกตัวแปลภาษา วิธีการทั้งสองนี้ไม่ได้ติดตั้งส่วนประกอบที่ขาดหายไป แก้ไขคำสั่งที่ไม่เข้ากัน หรือตรวจสอบว่าสคริปต์นั้นน่าเชื่อถือหรือไม่

ฝากความเห็น

วิธีจับภาพหน้าจอใน Mac: คู่มือฉบับสมบูรณ์

วิธีจับภาพหน้าจอใน Mac: คู่มือฉบับสมบูรณ์

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

วิธีเพิ่มรูปภาพหลายรูปในไฟล์ PDF เดียวบน macOS

วิธีเพิ่มรูปภาพหลายรูปในไฟล์ PDF เดียวบน macOS

รวมภาพหลายภาพเข้าเป็นไฟล์ PDF เดียวบน macOS โดยใช้ Finder หรือ Preview ควบคุมลำดับหน้า หลีกเลี่ยงการตัดขอบ และแก้ไขหน้าที่หายไปโดยไม่ต้องใช้ซอฟต์แวร์เพิ่มเติม

วิธีดูค่า FPS บน macOS: Steam และ Metal HUD ของ Apple

วิธีดูค่า FPS บน macOS: Steam และ Metal HUD ของ Apple

เรียนรู้วิธีแสดงค่า FPS บน Mac โดยใช้โอเวอร์เลย์ประสิทธิภาพของ Steam หรือ Metal Performance HUD ของ Apple รวมถึงวิธีแก้ไขเมื่อตัวนับไม่ปรากฏ

วิธีบังคับปิดแอปบน Mac: 5 วิธีง่ายๆ ในการปิดแอป

วิธีบังคับปิดแอปบน Mac: 5 วิธีง่ายๆ ในการปิดแอป

ใช้ปุ่ม Option–Command–Esc เพื่อบังคับปิดแอป Mac ที่ไม่ตอบสนอง หรือปิดจากเมนู Apple, Dock, Activity Monitor หรือ Terminal

วิธีใช้ฟังก์ชันแบ่งหน้าจอ (Split Screen) บน Mac: วางสองแอปพลิเคชันไว้เคียงข้างกัน

วิธีใช้ฟังก์ชันแบ่งหน้าจอ (Split Screen) บน Mac: วางสองแอปพลิเคชันไว้เคียงข้างกัน

ตั้งค่า Split View ปรับขนาดหรือแทนที่บานหน้าต่าง ใช้ Mission Control และเรียนรู้ว่าเมื่อใดการจัดเรียงหน้าต่างบนเดสก์ท็อปจะเหมาะสมกับ Mac ของคุณมากกว่า

วิธีลบข้อมูล EXIF ​​จากรูปภาพใน macOS

วิธีลบข้อมูล EXIF ​​จากรูปภาพใน macOS

เรียนรู้วิธีการลบข้อมูล EXIF ​​จากรูปภาพบน macOS ซ่อนตำแหน่งที่ตั้งในแอป Photos ทำความสะอาดไฟล์ JPEG ที่ส่งออกด้วย ExifTool และตรวจสอบผลลัพธ์

วิธีซิงค์สองโฟลเดอร์บน Mac อย่างปลอดภัย

วิธีซิงค์สองโฟลเดอร์บน Mac อย่างปลอดภัย

ซิงค์สองโฟลเดอร์บน Mac ด้วย SyncTwoFolders เลือกการอัปเดตแบบทางเดียวหรือสองทาง และดูตัวอย่างการเปลี่ยนแปลงก่อนที่จะแทนที่หรือลบไฟล์

วิธีสำรองข้อมูลบล็อก Tumblr บน Mac

วิธีสำรองข้อมูลบล็อก Tumblr บน Mac

สำรองข้อมูลบล็อก Tumblr บน Mac ของคุณด้วยฟังก์ชันส่งออกเว็บของ Tumblr ดาวน์โหลดและแตกไฟล์ ZIP เก็บรักษาโพสต์และสื่อต่างๆ ไว้ได้อย่างปลอดภัย และตรวจสอบว่าไฟล์เก็บถาวรนั้นขาดอะไรไปบ้าง

วิธีใช้งาน Google Maps บนคอมพิวเตอร์ Mac

วิธีใช้งาน Google Maps บนคอมพิวเตอร์ Mac

ใช้งาน Google Maps บน Mac ของคุณใน Safari หรือ Chrome ค้นหาสถานที่และเส้นทาง สลับเลเยอร์แผนที่ และเพิ่มเว็บแอป Safari ไปยัง Dock บน macOS Sonoma 14 หรือเวอร์ชันที่ใหม่กว่า

5 โปรแกรมแปลงไฟล์ WAV เป็น MP3 ฟรีที่ดีที่สุดสำหรับ Windows และ macOS

5 โปรแกรมแปลงไฟล์ WAV เป็น MP3 ฟรีที่ดีที่สุดสำหรับ Windows และ macOS

เปรียบเทียบโปรแกรมแปลงไฟล์ WAV เป็น MP3 ฟรี 5 โปรแกรมสำหรับ Windows และ macOS รวมถึงข้อจำกัดของไฟล์ออนไลน์ เครื่องมือแปลงไฟล์แบบกลุ่มในเครื่อง และการตั้งค่าการส่งออกที่ใช้งานได้จริง