Cara membuat file (skrip) universal untuk Mac, berdasarkan pada beberapa perintah Terminal

20

Saya memiliki beberapa perintah Terminal yang saya gunakan untuk tujuan pemecahan masalah, dengan mengetiknya satu per satu ke jendela terminal.

Perintah-perintah ini mengharuskan kata sandi pengguna dimasukkan.

Saya mencari cara untuk membuat file (skrip) universal dengan perintah ini. Saya ingin dapat menjalankan file di Mac hanya dengan mengklik dua kali atau menyeret file di atas ikon Terminal.

Saya belum pernah melakukan hal seperti ini sebelumnya. Apakah ada cara untuk membuat skrip seperti itu? Mohon saran.

0lesya
sumber
Apakah Anda bermaksud meminta Anda ingin menjalankan skrip tanpa meminta pengguna memasukkan kata sandi mereka?
Allan
@ Allan Saya ingin menjalankan satu file alih-alih beberapa perintah . Menjalankannya tanpa meminta pengguna memasukkan kata sandi mereka setidaknya sekali akan baik, tetapi kemungkinan besar tidak mungkin jika saya tidak salah.
0lesya
Itu pasti mungkin kecuali Anda perlu melakukan sesuatu yang memerlukan admin - lihat jawaban saya di bawah ini
Cullub

Jawaban:

30

Jawaban singkat

Sebuah .commandnaskah harus melakukan trik


Selangkah demi selangkah

  1. Buka TextEdit dan buat file baru
  2. Konversikan ke teks biasa dengan mengklik Format> Buat Teks Biasa
  3. Tambahkan perintah Anda, satu per baris. Misalnya, Anda bisa melakukan:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Jalankan chmod u+x ~/Desktop/myCommandScript.commanddi terminal Anda, di mana ~/Desktop/myCommandScript.commandpath ke skrip Anda. Ini akan memberikan terminal izin untuk menjalankan file.

  5. Kamu sudah selesai! Klik dua kali file yang akan dijalankan. Menyeret ikon terminal juga akan berfungsi.

Catatan:

  • Jika Anda perlu melakukan sesuatu yang memerlukan akses root (admin), Anda bisa mengawali perintah Anda dengan sudo. Saat skrip berjalan, Anda harus memasukkan kata sandi (dan menjadi administrator)
  • Jika pengguna akhir bukan administrator, tetapi Anda perlu melakukan sesuatu yang memerlukan akses root, Anda dapat menggunakan su someAdminName, yang akan melakukan perintah sebagai someAdminName(Anda akan memerlukan kata sandi).

Anda juga dapat melihat di sini di Stack Overflow untuk informasi lebih lanjut.

Cullub
sumber
Apakah ada cara untuk membuat file perintah untuk tidak keluar? Saya ingin memiliki file perintah yang membuka terminal dengan variabel jalur yang telah ditentukan.
Royi
8

Sebuah skrip hanyalah serangkaian perintah, jadi Anda bisa memasukkannya ke skrip bash.

#!/bin/bash

command 1
command 2
command 3

Sekarang, ini semua tergantung pada jenis perintah mereka dan apakah mereka memerlukan intervensi pengguna atau tidak.

Namun, jika Anda mendapatkan info diagnostik, misalnya, Anda dapat memiliki skrip yang berfungsi

#!/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

Itu hanya untuk contoh. Ingatlah bahwa output apa pun yang dihasilkan, akan dikirim ke konsol (layar). Namun, Anda dapat mengarahkan output ke file dengan menambahkan >> /path/to/outputfile.txtdi akhir setiap perintah sehingga Anda memiliki file yang dapat diurai setelah file selesai berjalan.

Anda dapat memberi nama file diagnostics.shdan menempatkannya di mana saja Anda suka. Pastikan Anda membuatnya dieksekusi dengan mengeluarkan perintah chmod +x diagnostics.shdan gunakan ./diagnostics.shuntuk menjalankannya atau klik dua kali untuk menjalankannya jika disimpan ke desktop Anda .

Allan
sumber