Debian Script Bash

Stato
Discussione chiusa ad ulteriori risposte.

icebit

Utente Gold
5 Settembre 2014
687
46
169
341
Salve a tutti,
Ho da creare uno script in Bash in cui l'utente può interagire con il programma per far partire determinate funzioni.
Quello che voglio fare è riassumibile nel seguente modo:
root@Debian: Scrivi "1" per attivare il software "X",scrivi "2" per disattivarlo.
Visto che non programmo quasi mai in Bash accetto volentieri anche tutorial che mi introducano a questo linguaggio di Scripting.
Ringrazio chi mi risponderà e spero di essere stato sufficientemente chiaro. :)
 
Non mi è chiaro precisamente cosa vuoi fare. Se vuoi creare un piccolo script in bash che all'apertura ti chieda se vuoi attivare un determinato comando sempre richiamabile da shell dovresti procedere come segue:

- printare il messaggio.
- prelevare input.
- controllare tramite costrutti condizionali.
- eseguire il comando collegato a tale scelta.

Qui potresti trovare una guida dettagliata per lo scripting in bash
http://www.pluto.it/files/ildp/guide/abs/

E una cosa relativamente semplice ma che consiglio di approfondire e di non metterti alla ricerca di pappa pronta da copia e incolla.
 
Non mi è chiaro precisamente cosa vuoi fare. Se vuoi creare un piccolo script in bash che all'apertura ti chieda se vuoi attivare un determinato comando sempre richiamabile da shell dovresti procedere come segue:

- printare il messaggio.
- prelevare input.
- controllare tramite costrutti condizionali.
- eseguire il comando collegato a tale scelta.

Qui potresti trovare una guida dettagliata per lo scripting in bash
http://www.pluto.it/files/ildp/guide/abs/

E una cosa relativamente semplice ma che consiglio di approfondire e di non metterti alla ricerca di pappa pronta da copia e incolla.
Ho chiesto la pappa pronta? no :)
Quello che volevo creare era un menù a scelta multipla:
Premendo il numero 1 attivava un Daemon e premendo il tasto 2 il Daemon si spegneva...comunque io cercavo proprio una guida,quindi quella che mi hai linkato dovrebbe andare bene.
 
Non la prendere come critica o altro il mio è solamente un consiglio :) .
Vedo tante persone che credono di saper amministrare un sistema con i copia e incolla mettendo a rischio molto spesso la sicurezza del proprio sistema. ;)

Se non comprendi qualcosa chiedi pure :)
 
Non la prendere come critica o altro il mio è solamente un consiglio :) .
Vedo tante persone che credono di saper amministrare un sistema con i copia e incolla mettendo a rischio molto spesso la sicurezza del proprio sistema. ;)

Se non comprendi qualcosa chiedi pure :)
Figurati,lo faccio solamente perché sono stufo di ripetere quotidianamente le solite funzioni quando potrei automatizzarle con uno script
 
Ultima modifica da un moderatore:
Usa read per leggere l'input e un case in base all'input preso...
Che poi comunque ha poco senso perché anziché scrivere startx dovresti avviare lo script e premere 1.. A sto punto fai due alias se proprio non hai voglia
 
Già risolto,ho usato read per leggere l'input dato, "if" ed "elif" per assegnare un comando per ogni variabile.
Grazie ad entrambi
 
Creare uno script in bash può essere facilmente sostituito dal programmare un qualsiasi applicativo in un linguaggio di programmazione?
 
se ti serve ecco un punto di genlog dove si fa esattamente questo:
https://gitlab.com/genlog/genlog/blob/master/genlog.sh#L230
leggi lo script per avere un'idea sommaria su come funzioni questa cosa.
Grazie,i source di altri script fanno sempre comodo per capire un bel po di cose...
Un'altra domanda:
Ma come si fanno le parole in ASCII come nel vostro genlog?
2ylmc13.png


Non credo che ti sei messo a farlo a mano o_O
 
A cosa può servirmi imparare a scriptare in bash? Oltre ovviamente a saper utilizzare il terminale cosa potrei fare in bash che un programma scritto in C non mi permette di fare? Non so se hai capito :asd:
Automatizzare alcuni comandi che quotidianamente devi dare da terminale,ma prima di imparare a scriptare in bash è consigliabile saperlo già usare(il terminale).
 
Bash è la shell standardi di tutti i sistemi GNU/Linux, ovviamente se vuoi amministrare un sistema
A cosa può servirmi imparare a scriptare in bash? Oltre ovviamente a saper utilizzare il terminale cosa potrei fare in bash che un programma scritto in C non mi permette di fare? Non so se hai capito :asd:
Se utilizzi un sistema GNU/Linux e non conosci il bash ovviamente ti ritroverai ad avere un sistema di cui non hai idea di cosa stia facendo.. (e ovviamente non puoi pretendere di interagire con esso)
 
Bash è la shell standardi di tutti i sistemi GNU/Linux, ovviamente se vuoi amministrare un sistema

Se utilizzi un sistema GNU/Linux e non conosci il bash ovviamente ti ritroverai ad avere un sistema di cui non hai idea di cosa stia facendo.. (e ovviamente non puoi pretendere di interagire con esso)
Puoi essere più chiaro facendo qualche esempio pratico? Cosi mi viene difficile capirti
 
in parole povere, se sai scriptare in bash puoi automatizzare il sistema con relativamente poco sforzo. Come tutti i linguaggi, deve essere compreso appieno per esprimere tutta la sua potenza.
È comunque una cosa che non sostituisce altri linguaggi di programmazione compilati come C e compagnia. Per essere, se vuoi qualcosa di più puoi imparare a scrivere programmi in Python.
 
in parole povere, se sai scriptare in bash puoi automatizzare il sistema con relativamente poco sforzo. Come tutti i linguaggi, deve essere compreso appieno per esprimere tutta la sua potenza.
È comunque una cosa che non sostituisce altri linguaggi di programmazione compilati come C e compagnia. Per essere, se vuoi qualcosa di più puoi imparare a scrivere programmi in Python.
Cosa si intende per automatizzazione?
 
per esempio, io mi rompevo le palle™ di fare un file desktop per far partire league of legends da linux e ho fatto uno scriptino che mi automatizza alcune cose con wine:
Codice:
#!/usr/bin/bash
cd ~/.wine/drive_c/Riot\ Games/League\ of\ Legends/
WINEPREFIX=~/.wine wine lol.launcher.exe
Invece che dare i comandi a mano ho automatizzato una sequenza di cose che dovrei fare ripetitivamente, questo si intende per automatizzazione del sistema.
E da cose semplici si può arrivare anche a cose più complesse. Genlog è un esempio di automatizzazione complessa.
 
per esempio, io mi rompevo le palle™ di fare un file desktop per far partire league of legends da linux e ho fatto uno scriptino che mi automatizza alcune cose con wine:
Codice:
#!/usr/bin/bash
cd ~/.wine/drive_c/Riot\ Games/League\ of\ Legends/
WINEPREFIX=~/.wine wine lol.launcher.exe
Invece che dare i comandi a mano ho automatizzato una sequenza di cose che dovrei fare ripetitivamente, questo si intende per automatizzazione del sistema.
E da cose semplici si può arrivare anche a cose più complesse. Genlog è un esempio di automatizzazione complessa.
Quindi scriptare in bash non è altro che creare uno script inserendo comandi che tu dovresti dare ogni volta da terminale. Poi lo script lo fai partire con "sudo ./nomefile"?
 
Quindi scriptare in bash non è altro che creare uno script inserendo comandi che tu dovresti dare ogni volta da terminale. Poi lo script lo fai partire con "sudo ./nomefile"?
non per forza, puoi farlo partire con
bash nomefile.sh
./nomefile.sh (se gli hai dato gli attributi per venire eseguito)
 
Stato
Discussione chiusa ad ulteriori risposte.