ฉันอยากจะเรียกใช้สคริปต์ที่ฉันดาวน์โหลดออนไลน์โดยตรงจาก Finder แต่เพียงแค่ดับเบิลคลิกที่ไฟล์ไม่ทำงาน
ฉันอยากจะเรียกใช้สคริปต์ที่ฉันดาวน์โหลดออนไลน์โดยตรงจาก Finder แต่เพียงแค่ดับเบิลคลิกที่ไฟล์ไม่ทำงาน
คำตอบ:
เปิด Terminal ให้พิมพ์sh /path/to/file
แล้วกด Enter
เร็วกว่าคือการพิมพ์sh
และเว้นวรรคแล้วลากไฟล์ไปที่หน้าต่างแล้วปล่อยไอคอนที่ใดก็ได้บนหน้าต่าง
shell shell_script
บรรทัด shebang ถูกละเว้น เชลล์อ่านบรรทัดแรกเป็นความคิดเห็น
sh /path/to/file
ใด ๆ ความหมายที่แตกต่างจากทางเลือก/path/to/file.sh
?
หรือคุณสามารถทำได้
cd /directory/with/executable
chmod +x executable # only required if your file is not already executable
./executable
ซึ่งจะรันไฟล์เรียกทำงานด้วยเชลล์ที่ระบุ (ถ้าระบุใน shebang #!/bin/(shell)
chmod u+x myfile.sh
cp myfile.sh /usr/local/bin
แก้ไข~/.bash_profile
และเพิ่มบรรทัดต่อไปนี้:
alias myfile=./myfile.sh
รันบรรทัดคำสั่งต่อไปนี้:
source ~/.bash_profile
จากนั้นคุณจะสามารถเรียกใช้ไฟล์ของคุณเป็นโปรแกรม
$ myfile
#~/bin/sh
ในขณะOSX
ที่สคริปต์ควรมี.sh
ส่วนขยายและalias
แต่ละสคริปต์ : -O
ทำตามขั้นตอนเหล่านี้เพื่อเรียกใช้ไฟล์สคริปต์:
คลิกขวาที่ไฟล์. sh
เลื่อนเมาส์ไปที่เปิดด้วย
เลือกอื่น ๆ ...
คุณควรอยู่ในโฟลเดอร์Applications เปิดโฟลเดอร์Utilitiesและเลือก Terminal.app
หากคุณไม่สามารถเลือก Terminal.app เปลี่ยนการใช้งานที่เปิดใช้งานจากโปรแกรมแนะนำการใช้งานทั้งหมด มันอยู่ที่ด้านล่างของหน้าต่าง
หากคุณต้องการที่จะเปิดทุก.sh
ไฟล์ที่มี Terminal.app ติ๊กเสมอเปิดด้วย
กดปุ่มOpenที่มุมล่างขวาของหน้าต่าง
เหตุผลที่มันไม่ทำงานหลังจากดาวน์โหลดคือการอนุญาตของไฟล์ไม่อนุญาต เมื่อต้องการเปิดใช้สิทธิ์ดำเนินการเปิด Terminal
chmod 755 /path/to/script
และประเภท แทนที่จะพิมพ์เส้นทางแบบเต็มคุณสามารถลากสคริปต์ไปยังหน้าต่างเทอร์มินัลจาก Finder /path/to/script
จากนั้นในการดำเนินการเพียงแค่ใส่
อีกครั้งคุณสามารถลากและวางไฟล์ลงในหน้าต่างเทอร์มินัล ไวยากรณ์นี้ควรรันสคริปต์โดยใช้เชลล์ที่ถูกต้องตามที่กำหนดไว้ในบรรทัดแรกของสคริปต์
sh
หมายถึงเชลล์สคริปต์ที่ไม่ใช่ "เรียกใช้สคริปต์ในเชลล์นี้"