วิธีเรียกใช้คำสั่งเทอร์มินัลจากสคริปต์บน macOS

ในการเรียกใช้คำสั่ง Terminal จากสคริปต์บน macOS ให้ใส่คำสั่งเหล่านั้นลงในสคริปต์เชลล์แบบข้อความธรรมดา ทำให้สคริปต์นั้นสามารถเรียกใช้งานได้ จากนั้นเรียกใช้จาก Finder หรือ Terminal หรือใช้.commandส่วนขยายเพื่อเปิดโดยการดับเบิ้ลคลิก สคริปต์จะไม่ข้ามการควบคุมความเป็นส่วนตัวของ macOS หรือให้สิทธิ์ผู้ดูแลระบบ

หน้าต่างแก้ไขข้อความธรรมดาที่แสดง shebang ของ zsh และคำสั่ง echo ในไฟล์ MyScript.command
สคริปต์เชลล์ขนาดสั้นเริ่มต้นด้วย shebang ที่เลือกใช้ zsh

1. เขียนคำสั่งลงในไฟล์ข้อความธรรมดา

สคริปต์เชลล์คือไฟล์ข้อความที่มีคำสั่งต่างๆ เริ่มต้นด้วยshebangบรรทัดแรกที่บอก macOS ว่าควรใช้เชลล์ใดในการตีความไฟล์ ปัจจุบันเชลล์เริ่มต้นสำหรับหน้าต่าง Terminal ใหม่คือ zsh แต่ผู้ดูแลระบบสามารถตั้งค่าเชลล์เริ่มต้นอื่นได้ ตามที่ Apple อธิบายไว้ในคู่มือ Terminalตัวอย่างนี้ใช้ zsh อย่างชัดเจน:

#!/bin/zsh
# Print a message when the script runs
echo "Script is running"

ใส่คำสั่งไว้ในบรรทัดแยกกันใต้ shebang shebang จะเลือกตัวแปลภาษา ดังนั้นจึงต้องใช้ไวยากรณ์ที่ตัวแปลภาษานั้นรองรับ ตัวอย่างเช่น สคริปต์ Bash สามารถเริ่มต้นด้วย ` <script>` คู่มือสคริปต์เชลล์#!/bin/bashของ Apple อธิบายพื้นฐานไว้

คุณสามารถใช้ TextEdit ได้ แต่ต้องแน่ใจว่าไฟล์เป็นข้อความธรรมดา: เอกสาร TextEdit ใหม่บางฉบับอาจเป็นข้อความแบบ Rich Text เลือกFormat > Make Plain Textหรือตั้งค่ารูปแบบเอกสารใหม่ของ TextEdit เป็น Plain Text ในการตั้งค่า การจัดรูปแบบ Rich Text ไม่ใช่ Shell Code Apple ได้อธิบายตัวเลือกเหล่านี้ไว้ในคู่มือ TextEditนอกจากนี้ โปรแกรมแก้ไขโค้ดหรือโปรแกรมแก้ไขบรรทัดคำสั่งก็nanoใช้งานได้เช่นกัน

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

2. บันทึกโดยใช้.commandส่วนขยาย

บันทึกไฟล์ข้อความธรรมดาด้วยชื่อที่สื่อความหมาย เช่นMyScript.command`.script.txt` นามสกุลไฟล์ `.script.txt` จะช่วยให้ Finder เปิดสคริปต์ใน Terminal เมื่อคุณดับเบิ้ลคลิก เอกสารสำหรับนักพัฒนาของ Apple ที่เก็บไว้ในคลังข้อมูลอธิบายขั้นตอนการทำงานแบบดับเบิ้ลคลิกสำหรับสคริปต์เชลล์ ตรวจสอบชื่อไฟล์สุดท้ายใน Finder: ถ้าลงท้ายด้วย `.script.txt` .command.txtให้เปลี่ยนชื่อไฟล์เพื่อให้เหลือเพียงนามสกุล `.script.txt` เท่านั้น.commandเก็บตัวอย่างไว้ในตำแหน่งที่เหมาะสม เช่น เดสก์ท็อป ขณะที่คุณกำลังตั้งค่า

หาก macOS ถามว่าต้องการใช้ส่วนขยายใด ให้เลือกส่วนขยายเดิม.commandและตรวจสอบให้แน่ใจว่า Finder ยังไม่ได้เพิ่มส่วนขยาย.txtดังกล่าว

3. ทำให้สคริปต์สามารถเรียกใช้งานได้

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

chmod u+x "$HOME/Desktop/MyScript.command"

กดปุ่ม Enter u+xเพื่อเพิ่มสิทธิ์ในการเรียกใช้งานให้กับเจ้าของไฟล์ เครื่องหมายอัญประกาศจะป้องกันเส้นทางที่มีช่องว่าง เปลี่ยนเส้นทางตัวอย่างหากจำเป็น ลากไฟล์ลงในเทอร์มินัล หรือใช้เมนู Option-click ของ Finder เพื่อคัดลอกเส้นทางของไฟล์ Apple แสดงวิธีการเดียวกันในคำแนะนำเกี่ยวกับไฟล์ที่สามารถเรียกใช้งานได้

หน้าต่างเทอร์มินัลแสดงคำสั่ง chmod u+x ที่ใช้บังคับกับไฟล์ MyScript.command บนเดสก์ท็อป
คำสั่ง chmod จะเพิ่มสิทธิ์ในการเรียกใช้งานให้กับเจ้าของไฟล์

4. รันสคริปต์

ดับเบิ้ลคลิกMyScript.commandใน Finder เพื่อเรียกใช้ใน Terminal ผลลัพธ์และข้อผิดพลาดจะปรากฏที่นั่น หรือป้อนพาธแบบเต็ม:

"$HOME/Desktop/MyScript.command"

หรือเปลี่ยนไปที่โฟลเดอร์ก่อน แล้วจึงใส่เครื่องหมายโคลอน./(:) นำหน้าชื่อไฟล์

cd "$HOME/Desktop"
./MyScript.command

คำสั่ง นี้./บอกให้เชลล์เรียกใช้ไฟล์ในโฟลเดอร์ปัจจุบันคู่มือคำสั่งเทอร์มินัล ของ Apple อธิบายวิธีการเรียกใช้ไฟล์ปฏิบัติการโดยใช้พาธของไฟล์

หน้าต่างเทอร์มินัลกำลังรันคำสั่ง MyScript.command และแสดงข้อความว่า "สคริปต์กำลังทำงาน"
เรียกใช้ไฟล์โดยระบุพาthของไฟล์ และตรวจสอบผลลัพธ์ใน Terminal

แก้ไขปัญหาข้อผิดพลาดทั่วไป

  • “ไม่ได้รับอนุญาต”:ตรวจสอบให้แน่ใจว่าคุณได้เรียกchmod u+xใช้คำสั่งกับไฟล์ที่ถูกต้อง หากจำเป็น ให้ลองเรียกใช้คำสั่งซ้ำอีกครั้งโดยใช้พาธที่ถูกต้องของไฟล์ การทำให้ไฟล์สามารถเรียกใช้งานได้ไม่ได้หมายความว่าทุกคำสั่งภายในไฟล์นั้นจะได้รับอนุญาต
  • “ไม่พบไฟล์หรือไดเร็กทอรีดังกล่าว”:โปรดตรวจสอบตำแหน่งที่ตั้งและการสะกด รวมถึงนามสกุลไฟล์ด้วย ไฟล์ที่บันทึกโดยไม่ได้ตั้งใจMyScript.command.txtจะไม่ตรงกับคำสั่งข้างต้น การลากไฟล์เข้าไปในเทอร์มินัลอาจช่วยแทรกพาธของไฟล์ได้
  • คำสั่งทำงานได้เมื่อพิมพ์ แต่ไม่ทำงานเมื่อเขียนในสคริปต์:สคริปต์อาจใช้เชลล์ที่แตกต่างกัน หรืออาศัยนามแฝง ตัวแปรสภาพแวดล้อม หรือไดเร็กทอรีการทำงานจากเซสชันเทอร์มินัลแบบโต้ตอบของคุณ ใช้ shebang ที่ถูกต้อง หลีกเลี่ยงการใช้นามแฝง และระบุเส้นทางไฟล์อย่างชัดเจน หากคำสั่งต้องการโฟลเดอร์เฉพาะ ให้เพิ่มcdบรรทัดที่เหมาะสมไว้ใกล้กับส่วนต้นของสคริปต์

ทำความเข้าใจเรื่องสิทธิ์การเข้าถึงก่อนแชร์

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

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

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

ฝากความเห็น

วิธีซิงค์สองโฟลเดอร์บน 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 รวมถึงข้อจำกัดของไฟล์ออนไลน์ เครื่องมือแปลงไฟล์แบบกลุ่มในเครื่อง และการตั้งค่าการส่งออกที่ใช้งานได้จริง

วิธีคลิกขวาโดยไม่ต้องใช้เมาส์บน Windows และ Mac

วิธีคลิกขวาโดยไม่ต้องใช้เมาส์บน Windows และ Mac

เรียนรู้แป้นพิมพ์ลัดและคุณสมบัติการเข้าถึงเพื่อเปิดเมนูบริบทบน Windows และ Mac รวมถึงปุ่มเมาส์และปุ่มเมนูบริบทของ Mac

โปรแกรมจัดการไฟล์ที่ดีที่สุดสำหรับ Windows: 5 ทางเลือกแทน File Explorer

โปรแกรมจัดการไฟล์ที่ดีที่สุดสำหรับ Windows: 5 ทางเลือกแทน File Explorer

เปรียบเทียบโปรแกรมจัดการไฟล์สำหรับ Windows ทั้ง 5 โปรแกรม ตั้งแต่ Q-Dir และ Files ที่ใช้งานได้ฟรี ไปจนถึงโปรแกรมที่มีหน้าต่างแสดงผลสองบานและโปรแกรมสำหรับผู้ใช้ขั้นสูง เพื่อค้นหาโปรแกรมที่เหมาะสมที่สุดสำหรับการคัดลอก จัดเรียง และจัดระเบียบไฟล์

วิธีแก้ไขปัญหา “ไม่สามารถเรียกใช้ไฟล์ได้เนื่องจากคุณไม่มีสิทธิ์เข้าถึงที่เหมาะสม” บน macOS

วิธีแก้ไขปัญหา “ไม่สามารถเรียกใช้ไฟล์ได้เนื่องจากคุณไม่มีสิทธิ์เข้าถึงที่เหมาะสม” บน macOS

แก้ไขข้อผิดพลาดในการเข้าถึงสคริปต์ .command บน macOS ด้วยการเปลี่ยนแปลงสิทธิ์การเรียกใช้งานแบบเฉพาะเจาะจง จากนั้นตรวจสอบไฟล์และแก้ไขปัญหาคำเตือนด้านความปลอดภัยอย่างปลอดภัย

วิธีตั้งค่าแอปเริ่มต้นบน macOS สำหรับไฟล์ ลิงก์เว็บไซต์ และอีเมล

วิธีตั้งค่าแอปเริ่มต้นบน macOS สำหรับไฟล์ ลิงก์เว็บไซต์ และอีเมล

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

วิธีรีสตาร์ท Touch Bar บน MacBook Pro

วิธีรีสตาร์ท Touch Bar บน MacBook Pro

หากแถบสัมผัสของ MacBook Pro ค้างหรือว่างเปล่า ให้ลองรีสตาร์ทโดยไม่ต้องรีบูตเครื่อง Mac ให้ใช้ Terminal หรือ Activity Monitor จากนั้นลองตรวจสอบตามคำแนะนำเหล่านี้หากยังคงไม่ตอบสนอง

วิธีแก้ไขไฟล์ Plist บน macOS ด้วย Xcode

วิธีแก้ไขไฟล์ Plist บน macOS ด้วย Xcode

แก้ไขไฟล์ Plist บน macOS ด้วย Xcode โปรดสำรองข้อมูลก่อน และปกป้องแอปที่ลงนามแล้วโดยการเปลี่ยนซอร์สโค้ดของโปรเจ็กต์แทนที่จะเปลี่ยนบันเดิลที่ติดตั้งไว้