Hogyan hozható létre univerzális (szkript) fájl Mac-hez, több terminálparancs alapján

Több terminálparancsom van, amelyeket hibaelhárítási célokra használok, beírva őket egyenként a terminál ablakába.

Ezek a parancsok megkövetelik a felhasználó jelszavának megadását.

Arra törekszem, hogy létrehozhatok egy univerzális (szkript) fájlt. ezekkel a parancsokkal. Szeretném, ha futtathatnám a fájlt Mac gépen, ha duplán kattintok rá, vagy áthúzom a fájlt a Terminál ikonra.

Soha nem tettem még ilyet. Van-e valamilyen módszer ilyen forgatókönyv létrehozására? Kérjük, adjon tanácsot.

Megjegyzések

  • Azt akarja kérni, hogy futtatnia kell egy szkriptet anélkül, hogy a felhasználó megadná a felhasználót jelszavuk?
  • @Allan több fájl helyett egy fájlt akarok futtatni. Futtatása anélkül, hogy a felhasználónak legalább egyszer meg kellene adnia a jelszavát, jó lenne, de nagy valószínűséggel lehetetlen, ha nem tévesztenék '.
  • Ez ' minden bizonnyal lehetséges, kivéve, ha olyan dolgot kell tennie, amely adminisztrátort igényel – lásd az alábbi válaszomat
  • Talán nem pontosan azt, amit ' utána, de nagyon hatásosnak találtam. Használhatja a alias pl. alias ns="sudo netstat -tulpn". Ezeket akár a @reboot sorokba is beillesztheti a Crontab-ra, ha minden rendszerindítón szeretné. Most csak beírhatom a következőt: ns. Boldogság.

Válasz

Rövid válasz

A .command parancsfájlnak kell cseleznie


Lépésről lépésre

  1. Nyissa meg a TextEdit alkalmazást, és hozzon létre egy új fájlt
  2. Konvertálás sima szövegre a Formátum> Sima szöveg készítése gombra kattintva
  3. Adja hozzá a parancsokat, soronként egyet. Megteheti például:
    #! /bin/bash cd ~/Desktop mkdir myCoolFolder cd myCoolFolder

  4. Futtassa a chmod u+x ~/Desktop/myCommandScript.command alkalmazást a terminálod, ahol ~/Desktop/myCommandScript.command a szkript elérési útja. Ez engedélyt ad a terminálnak a fájl futtatására.

  5. Készen van! Kattintson duplán a futtatásra szolgáló fájlra. A terminál ikonjának áthúzása szintén működni fog.

Megjegyzések:

  • Ha olyasmit kell tennie, amihez root (admin) hozzáférésre van szükség, akkor előtte a parancsot sudo elé teheti. Amikor a szkript fut, meg kell adnia a jelszavát (és rendszergazdának kell lennie).
  • Ha a végfelhasználó nem rendszergazda, de valamit meg kell tennie, amihez root hozzáférésre volt szükség, használhatja su someAdminName, amely someAdminName néven fogja végrehajtani a parancsot (szüksége lesz a jelszavára).

itt is megtekintheti a Verem túlcsordulását egy kicsit további információért.

Megjegyzések

  • Van-e mód arra, hogy parancsfájlt készítsen a kijelentkezéshez? Szeretnék egy parancsfájlt, amely megnyitja a terminált egy előre meghatározott elérési útváltozóval.

Answer

A parancsfájl csak egy sor parancs, így beletehet egy bash szkriptbe.

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

Most mindez attól függ, hogy milyen típusúak a parancsok, és hogy nem. felhasználói beavatkozást igényelnek.

Ha azonban például diagnosztikai információkat kap, rendelkezhet olyan szkriptel, amely

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

Ezek csak példák . Ne feledje, hogy minden generált kimenet el lesz küldve a konzolra (képernyő). Viszont átirányíthatja a kimenetet egy fájlba úgy, hogy a >> /path/to/outputfile.txt fájlt hozzáfűzi az egyes parancsok végéhez, így van egy fájlja, amelyet a fájl futásának befejezése után elemezhet.

Megnevezheti a diagnostics.sh fájlt, és bárhová elhelyezheti. Csak győződjön meg róla, hogy futtathatóvá teszi-e a chmod +x diagnostics.sh parancs kiadásával, és a ./diagnostics.sh paranccsal hajtsa végre azt, vagy kattintson duplán a futtatásához, ha el van mentve az asztalra .

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük