2024 Autor: Peter John Melton | [email protected]. Modificat ultima dată: 2023-12-16 04:46
Am dat o introducere pentru scrierea shell-ului în trecut. Nu trebuie să fii programator pentru a începe cu script-urile de shell - acestea necesită puțin mai mult decât cunoașterea comenzilor terminale Linux.
Noțiuni de bază Zenity
Zenity vine în mod implicit cu Ubuntu. Dacă utilizați un derivat Ubuntu, cum ar fi Kubuntu, va trebui să îl instalați manual cu următoarea comandă:
sudo apt-get install zenity
Zenity face parte din GNOME, deci ar trebui să fie deja inclus în distribuțiile Linux care utilizează desktopul GNOME. Verificați managerul de pachete pentru zenity dacă nu aveți.
Utilizând Zenity
Poți să te joci cu Zenity de la terminal. Să presupunem că doriți să creați o fereastră de eroare atunci când apare o problemă cu scriptul dvs. shell. Iată o comandă de exemplu pe care o puteți folosi:
zenity –error –title=”An Error Occurred” –text=”A problem occurred while running the shell script.”
Să presupunem că vrei să ceri o întrebare da sau nu. Puteti folosi o comanda ca aceasta:
zenity –question –title=”Query” –text=”Would you like to run the script?”
zenity –entry –title=”Favorite Website” –text=”What is your favorite website?”
Un exemplu de script
Să încercăm să folosim Zenity pentru a crea un script de shell simplu. Cu doar trei comenzi, putem crea un program grafic cu temporizator:
#!/bin/bash # This script asks the user for a time, waits the specified amount # of time, and shows an alert dialog.
TIME=$(zenity –entry –title=”Timer” –text=”Enter a duration for the timer.
Use 5s for 5 seconds, 10m for 10 minutes, or 2h for 2 hours.”)
sleep $TIME
zenity –info –title=”Timer Complete” –text=”The timer is over.
It has been $TIME.”
Folosim câteva trucuri suplimentare aici. Vom obține valoarea variabilei TIME din prima comandă de zenitate și o vom alimenta comenzii de somn. De asemenea, folosim / n pentru a crea noi linii de text în dialogurile de zenitate.
După salvarea scriptului shell și executarea acestuia chmod + x comanda pe ea pentru a da permisiuni executabile, o putem lansa.
Introduceți o durată și scriptul va utiliza standardul dormi comanda pentru a număra în fundal. Când se termină temporizatorul comenzii de somn, scriptul va afișa mesajul info zenity.
Aceasta este doar zgârierea suprafeței a ceea ce ați putea face cu zenitatea; l-ați putea folosi pentru a face programe mult mai complicate. Dacă sunteți în căutarea pentru mai multe informații despre shell-ul shell, consultați ghidul nostru de a utiliza pentru buclele în scripturile shell.
Recomandat:
Când este mai bine să utilizați #! / Bin / bash În loc de #! / Bin / sh într-un Shell Script?
Când creați un nou script de shell, doriți să vă asigurați că este cât mai gratuit posibil, dar uneori poate fi puțin confuz să știți care este cel mai bun shebang pentru tine de folosit. În această notă, postul de astăzi SuperUser Q & A are răspunsul la o întrebare confuză a cititorului.
Cum să faci un director nou și să îl schimbi cu o singură comandă în Linux
Dacă petreceți vreun moment în Terminal, probabil veți folosi comanda mkdir pentru a crea un director și apoi comanda cd pentru a trece la acel director imediat după. Cu toate acestea, există o modalitate de a face ambele acțiuni cu o singură comandă.
Cum sa faci munca Optimus de la NVIDIA pe Linux
Multe laptopuri noi vin cu tehnologia NVIDIA Optimus - laptopul include atât un GPU NVIDIA discret pentru o putere de jocuri, cât și un GPU Intel de la bord pentru economii de energie. Notebook-ul comută între cele două atunci când este necesar.
Cum să faci PC-ul tău Linux să treacă din somn automat
Doriți să puneți PC-ul dvs. Linux în modul de hibernare sau hibernare și să îl trezi automat la un moment dat? Puteți face acest lucru cu comanda rtcwake, inclusă în mod implicit la majoritatea sistemelor Linux.
Shell Script pentru a încărca un fișier în același subdirector pe un server la distanță
O sarcină foarte comună pentru un dezvoltator web este încărcarea unui singur fișier dintr-un subdirector pe caseta de dezvoltare în același subdirector pe un server de la distanță. Din păcate, acest lucru se termină mereu printr-un proces manual deranjant, care implică comutarea directoarelor pe ambele servere și duce la o mare cantitate de timp.