Jak vytvořit univerzální (skriptový) soubor pro Mac na základě několika příkazů Terminálu

Mám několik příkazů Terminálu, které používám pro účely řešení potíží jejich zadáním po jednom do okna terminálu.

Tyto příkazy vyžadují zadání hesla uživatele.

Hledám způsob, jak vytvořit univerzální (skriptový) soubor s těmito příkazy. Chci mít možnost spustit soubor na počítači Mac pouhým dvojitým kliknutím nebo přetažením souboru přes ikonu Terminál.

Nikdy předtím jsem nic takového neudělal. Existuje nějaký způsob, jak takový skript vytvořit? Prosím o radu.

Komentáře

  • Chcete požádat o spuštění skriptu bez vstupu uživatele? jejich heslo?
  • @ Allan Chci spustit jeden soubor namísto více příkazů . Spuštění bez nutnosti alespoň jednoho zadání hesla by bylo dobré, ale pravděpodobně nemožné, pokud se ' nemýlím.
  • To ' je to rozhodně možné, pokud nepotřebujete něco, co vyžaduje administrátora – viz moje odpověď níže
  • Možná ne přesně to, co ' znovu, ale zjistil jsem, že je to velmi efektivní. Můžete použít alias např. alias ns="sudo netstat -tulpn". Můžete je dokonce umístit do @reboot řádků na Crontab, pokud je chcete mít při každém spuštění. Teď můžu jednoduše napsat ns. Blaženost.

Odpověď

Krátká odpověď

A .command skript by měl stačit


Krok za krokem

  1. Otevřete TextEdit a vytvořte nový soubor
  2. Převést do formátu prostého textu kliknutím na Formát> Vytvořit prostý text
  3. Přidejte své příkazy, jeden na každý řádek. Můžete například:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Spustit chmod u+x ~/Desktop/myCommandScript.command v váš terminál, kde ~/Desktop/myCommandScript.command je cesta k vašemu skriptu. Tím dáte terminálu oprávnění ke spuštění souboru.

  5. Hotovo! Poklepejte na soubor, který chcete spustit. Fungovat bude také přetažení přes ikonu terminálu.

Poznámky:

  • Pokud potřebujete udělat něco, co vyžaduje přístup root (administrátor), můžete před svůj příkaz zadat předponu sudo. Po spuštění skriptu budete muset zadat své heslo (a být administrátorem).
  • Pokud koncový uživatel není administrátorem, ale musíte udělat něco, co vyžaduje přístup root, můžete použít su someAdminName, který provede příkaz jako someAdminName (jeho heslo budete potřebovat).

Další informace najdete zde v Přetečení zásobníku.

Komentáře

  • Existuje způsob, jak vytvořit soubor příkazů, aby se neodhlásil? Chci mít příkazový soubor, který otevře terminál s předdefinovanou proměnnou cesty.

Odpověď

Skript je jen řada příkazů, takže jej můžete vložit do bash skriptu.

#!/bin/bash command 1 command 2 command 3 

Nyní vše závisí na typech příkazů a na tom, zda jsou či nejsou. vyžadují zásah uživatele.

Pokud však například dostáváte diagnostické informace, můžete mít skript, který

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

Jedná se pouze o příklady . Pamatujte, že jakýkoli vygenerovaný výstup bude odeslán na konzolu (obrazovku). Můžete však přesměrovat výstup do souboru přidáním >> /path/to/outputfile.txt na konec každého příkazu, abyste měli soubor, který můžete analyzovat, jakmile je soubor spuštěn.

Soubor můžete pojmenovat diagnostics.sh a umístit jej kamkoli chcete. Jen se ujistěte, že je spustitelný vydáním příkazu chmod +x diagnostics.sh a použijte ./diagnostics.sh k jeho provedení nebo dvojitým kliknutím jej spustíte, pokud je uložen na plochu .

Napsat komentář

Vaše e-mailová adresa nebude zveřejněna. Vyžadované informace jsou označeny *