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
Odpověď
Krátká odpověď
A .command
skript by měl stačit
Krok za krokem
- Otevřete TextEdit a vytvořte nový soubor
- Převést do formátu prostého textu kliknutím na Formát> Vytvořit prostý text
-
Přidejte své příkazy, jeden na každý řádek. Můžete například:
#! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder
-
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. - 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 jakosomeAdminName
(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 .
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 napsatns
. Blaženost.