Çeşitli Terminal komutlarına dayalı olarak Mac için evrensel (komut dosyası) dosya oluşturma


21

Sorun giderme amacıyla, terminal penceresine tek tek yazarak kullandığım birkaç Terminal komutum var.

Bu komutlar için kullanıcının şifresinin girilmesi gerekir.

Bu komutlarla bir evrensel (script) dosyası oluşturmak için bir yol arıyorum. Dosyayı bir Mac üzerinde çift tıklatarak veya Terminal simgesinin üzerine sürükleyerek çalıştırabilmek istiyorum.

Daha önce hiç böyle bir şey yapmamıştım. Böyle bir senaryo oluşturmanın herhangi bir yolu var mı? Tavsiye lütfen.


Kullanıcının parolasını girmesini gerektirmeden bir komut dosyası çalıştırmak istediğinizi mi sormak istersiniz ?
Allan

@Allan Birden fazla komut yerine bir dosya çalıştırmak istiyorum . Kullanıcının parolasını en az bir kez girmesine gerek kalmadan çalıştırmak iyi olur, ancak yanılmıyorsam büyük olasılıkla imkansızdır.
0lesya

Yönetici gerektiren bir şey yapmanız gerekmedikçe bu kesinlikle mümkündür - aşağıdaki cevabımı görün
Cullub

Yanıtlar:


32

Kısa cevap

Bir .commandsenaryo hile yapmalı


Adım adım

  1. TextEdit'i açın ve yeni bir dosya oluşturun
  2. Biçim> Düz Metin Yap'ı tıklayarak düz metne dönüştürün
  3. Komutlarınızı her satıra bir tane olacak şekilde ekleyin. Örneğin, şunları yapabilirsiniz:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. chmod u+x ~/Desktop/myCommandScript.commandTerminalinizde çalıştırın ~/Desktop/myCommandScript.command, betiğinizin yolu nerede . Bu, terminale dosyayı çalıştırma izni verecektir.

  5. Sen bittin! Çalıştırılacak dosyayı çift tıklayın. Terminal simgesinin üzerine sürüklemek de işe yarayacaktır.

Notlar:

  • Kök (admin) erişimi gerektiren bir şey yapmanız gerekiyorsa, komutunuzun önüne ön ek ekleyebilirsiniz sudo. Komut dosyası çalıştığında, parolanızı girmeniz (ve yönetici olmanız) gerekir
  • Son kullanıcı yönetici değilse, ancak root erişimi gerektiren bir şey yapmanız gerekiyorsa su someAdminName, komutu şu şekilde gerçekleştirir someAdminName(parolasına ihtiyacınız olacak).

Biraz daha fazla bilgi için burada Stack Overflow'da da görebilirsiniz .


Oturumu kapatmamak için bir komut dosyası oluşturmanın bir yolu var mı? Terminali önceden tanımlanmış yol değişkeni ile açan bir komut dosyasına sahip olmak istiyorum.
Royi

8

Bir betik sadece bir dizi komuttur, bu yüzden bir bash betiğine koyabilirsiniz.

#!/bin/bash

command 1
command 2
command 3

Şimdi, bunların hepsi komut türlerine ve kullanıcı müdahalesi gerektirip gerektirmediklerine bağlıdır.

Ancak, örneğin tanı bilgileri alıyorsanız,

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

Bunlar sadece örneklerdir. Üretilen tüm çıktıların konsola (ekran) gönderileceğini unutmayın. Ancak, >> /path/to/outputfile.txther komutun sonuna ekleyerek çıktıyı bir dosyaya yeniden yönlendirebilirsiniz, böylece dosyanın çalışması bittikten sonra ayrıştırabileceğiniz bir dosyaya sahip olursunuz.

Dosyayı adlandırabilir diagnostics.shve istediğiniz herhangi bir yere yerleştirebilirsiniz. Komutu uygulayarak çalıştırılabilir hale getirdiğinizden emin olun ve komutu yürütmek için chmod +x diagnostics.shkullanın ./diagnostics.shveya masaüstünüze kaydedildiyse çalıştırmak için çift tıklayın .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.