วิธีสร้างไฟล์ universal (script) สำหรับ Mac โดยใช้คำสั่ง Terminal หลายตัว


20

ฉันมีคำสั่งเทอร์มินัลหลายคำสั่งที่ฉันใช้เพื่อการแก้ไขปัญหาโดยพิมพ์คำสั่งเหล่านั้นทีละรายการลงในหน้าต่างเทอร์มินัล

คำสั่งเหล่านี้จำเป็นต้องป้อนรหัสผ่านของผู้ใช้

ฉันกำลังมองหาวิธีสร้างไฟล์ universal (script) ด้วยคำสั่งเหล่านี้ ฉันต้องการที่จะเรียกใช้ไฟล์บน Mac เพียงแค่ดับเบิลคลิกหรือลากไฟล์ไปที่ไอคอน Terminal

ฉันไม่เคยทำอะไรแบบนี้มาก่อน มีวิธีการสร้างสคริปต์เช่นนี้หรือไม่? กรุณาแนะนำ


คุณต้องการถามว่าคุณต้องการเรียกใช้สคริปต์โดยไม่ต้องให้ผู้ใช้ป้อนรหัสผ่านหรือไม่?
อัลลัน

@Allan ฉันต้องการที่จะเรียกใช้ไฟล์เดียวแทนคำสั่งหลาย เรียกใช้โดยไม่ต้องให้ผู้ใช้ป้อนรหัสผ่านอย่างน้อยหนึ่งครั้งจะดี แต่เป็นไปไม่ได้มากที่สุดถ้าฉันไม่เข้าใจผิด
0lesya

แน่นอนว่าเป็นไปได้เว้นแต่คุณจะต้องทำสิ่งที่ต้องใช้ผู้ดูแลระบบ - ดูคำตอบของฉันด้านล่าง
Cullub

คำตอบ:


30

คำตอบสั้น ๆ

.commandสคริปต์ควรทำเคล็ดลับ


เป็นขั้นเป็นตอน

  1. เปิด TextEdit และสร้างไฟล์ใหม่
  2. แปลงเป็นข้อความธรรมดาโดยคลิกรูปแบบ> สร้างข้อความล้วน
  3. เพิ่มคำสั่งของคุณหนึ่งคำต่อบรรทัด ตัวอย่างเช่นคุณสามารถทำได้:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. ทำงานchmod u+x ~/Desktop/myCommandScript.commandในเทอร์มินัลซึ่ง~/Desktop/myCommandScript.commandเป็นเส้นทางไปยังสคริปต์ของคุณ สิ่งนี้จะให้สิทธิ์แก่เทอร์มินัลเพื่อเรียกใช้ไฟล์

  5. คุณทำเสร็จแล้ว! ดับเบิลคลิกที่ไฟล์เพื่อเรียกใช้ การลากผ่านไอคอนเทอร์มินัลจะใช้งานได้เช่นกัน

หมายเหตุ:

  • หากคุณต้องการที่จะทำบางสิ่งบางอย่างที่ต้องใช้ราก (admin) sudoเข้าถึงคุณสามารถคำนำหน้าคำสั่งของคุณด้วย เมื่อสคริปต์ทำงานคุณจะต้องป้อนรหัสผ่าน (และเป็นผู้ดูแลระบบ)
  • หากผู้ใช้ไม่ใช่ผู้ดูแลระบบ แต่คุณต้องทำสิ่งที่จำเป็นต้องเข้าถึงรูทคุณสามารถใช้su someAdminNameซึ่งจะทำตามคำสั่งในฐานะsomeAdminName(คุณจะต้องใช้รหัสผ่าน)

นอกจากนี้คุณยังสามารถดูที่นี่ในกองมากเกินสำหรับข้อมูลมากขึ้นอีกนิด


มีวิธีสร้างไฟล์คำสั่งไม่ให้ออกจากระบบหรือไม่? ฉันต้องการไฟล์คำสั่งที่เปิดเทอร์มินัลพร้อมตัวแปรพา ธ ที่กำหนดไว้ล่วงหน้า
Royi

8

สคริปต์เป็นเพียงชุดคำสั่งดังนั้นคุณสามารถใส่ไว้ในสคริปต์ทุบตี

#!/bin/bash

command 1
command 2
command 3

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

อย่างไรก็ตามหากคุณได้รับข้อมูลการวินิจฉัยเช่นคุณสามารถมีสคริปต์ที่ทำ

#!/bin/bash

# Get SMART status of main drive
diskutil info disk0 | grep -i smart

# Get the model of the machine in question
system_profiler SPHardwareDataType | grep -i Identifier

นี่เป็นเพียงตัวอย่างเท่านั้น โปรดทราบว่าผลลัพธ์ใด ๆ ที่สร้างขึ้นจะถูกส่งไปยังคอนโซล (หน้าจอ) อย่างไรก็ตามคุณสามารถเปลี่ยนทิศทางเอาต์พุตไปยังไฟล์โดยต่อ>> /path/to/outputfile.txtท้ายคำสั่งแต่ละคำสั่งเพื่อให้คุณมีไฟล์ที่คุณสามารถแยกวิเคราะห์เมื่อไฟล์เสร็จสิ้นการทำงาน

คุณสามารถตั้งชื่อไฟล์diagnostics.shและวางไว้ที่ใดก็ได้ที่คุณต้องการ เพียงให้แน่ใจว่าคุณทำให้มันปฏิบัติการโดยการออกคำสั่งchmod +x diagnostics.shและการใช้งาน./diagnostics.shในการดำเนินการหรือดับเบิลคลิกที่ภาพเพื่อเรียกใช้งานได้หากมีการบันทึกไว้ในคอมพิวเตอร์ของคุณ

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.