come creare uno script ?

Linguaggi di programmazione: php, perl, python, C, bash e tutti gli altri.
Scrivi risposta
Avatar utente
ancarano
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 272
Iscrizione: venerdì 29 febbraio 2008, 9:33
Desktop: gnome
Distribuzione: Ubuntu 13.10 x64

come creare uno script ?

Messaggio da ancarano »

la domanda sarà sicuramente banale, ma vi chiedo lo stesso di darmi un aiuto!
io so programmare in fortran (però a breve mi metterò sul c, apprendo molto in fretta  ;D) ma avendolo imparato all'università, alla fin fine non l'ho mai "messo in pratica", eccetto i programmini fine a se stessi che ti fanno fare a livello didattico.

mettiamo il caso io voglia creare uno script semplicissimo per linux (penso la procedura sia la stessa per utte le distro no?), ad esempio uno che mi spenga il pc in automatico dopo un tot di tempo (so che lo fa il terminale, ma è tanto per darvi l'idea!) oppure che esegua automaticamente òla pulitura di apt senza dover aprire il terminale.. insomma, cose abbastanza semplici (almeno credo!).

da dove devo partire per imparare a fare queste cosettine?
per farvi capire... io apro un file di testo e ci scrivo il mio bello script: gli faccio lanciare il terminale e poi gli faccio scrivere i relativi comandi... in linea teorica è così... ma da dove si parte? è sufficiente la mia attuale conoscenza in programmazione?

inoltre, se volessi realizzare un programmini di quelli "fine a se stessi" di cui sopra, mi serve un compilatore fortran (o del linguaggio in questione): quale installo?

sono nuovo del mondo linux, ho deciso di passare proprio per la maggior libertà in questi campi.... però aiutatemi  ;D
Avatar utente
mous16
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3940
Iscrizione: mercoledì 25 ottobre 2006, 15:51
Sesso: Maschile

Re: come creare uno script ?

Messaggio da mous16 »

un punto per volta:

per creare uno script la storia è è estremamente semplice.
Apri il blocco note, scrivi il tuo script, salvi, gli daii permessi di esecuzione elo lanci da terminale come se fosse un programma.
Ovviamente la domanda è "come va scritto?". Uno script può essere visto come una serie di comandi che il terminale esegue., quindi per esempio, per spegnere il pc dopo mezzora potrebbe suonare così

Codice: Seleziona tutto

sleep 30m
echo "Spengo il computer"
shutdown -h now
(basterebbe anche un solo comando, ma era per farti vedere)
In uno script puoi usare tutti i comandi che puoi usare normalmente in bash, quindi puoi lanciare tutti i programmi che hai installato.
Ovviamente esistono anche le variabili e le strutture if, if-else, while e for, ma per queste cose ti consiglio di cercarti una guida con google, che ce ne sono a bizzeffe

Per il compilatore per fortran non ti saprei dire... per il c invece vai sicuro con il GNU C Compiler (gcc):

Codice: Seleziona tutto

sudo apt-get install build-essential
Pagine personali: Forum Ubuntu-it - Wiki Ubuntu-it - Launchpad
Solo/mous16
Avatar utente
mc2new
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 911
Iscrizione: giovedì 25 gennaio 2007, 9:11
Località: Frosinone

Re: come creare uno script ?

Messaggio da mc2new »

Quelli di cui parli sono i comandi della shell bash e puoi trovare quanto cerchi con una semplice ricerca su internet.
Qui c' è un introduzione con due buoni link alla fine:
http://wiki.ubuntu-it.org/Programmazion ... mazione%29
"La cultura permette di capire quanto si è ignoranti"
http://picasaweb.google.com/spartenas/Wallpapers
Avatar utente
mc2new
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 911
Iscrizione: giovedì 25 gennaio 2007, 9:11
Località: Frosinone

Re: come creare uno script ?

Messaggio da mc2new »

mous16 ha scritto: un punto per volta:

per creare uno script la storia è è estremamente semplice.
........................
Tutto perfetto ma dovrebbe prima mettere:
#!/bin/bash
Se non dichiari l' interprete lo script non funziona....  ;)


p.s.
Su pluto.it si trovano interessanti howto in lingua italiana anche sull' argomento.
Ultima modifica di Anonymous il martedì 1 luglio 2008, 11:31, modificato 1 volta in totale.
"La cultura permette di capire quanto si è ignoranti"
http://picasaweb.google.com/spartenas/Wallpapers
Avatar utente
mous16
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3940
Iscrizione: mercoledì 25 ottobre 2006, 15:51
Sesso: Maschile

Re: come creare uno script ?

Messaggio da mous16 »

ops, piccola dimenticanza!
Pagine personali: Forum Ubuntu-it - Wiki Ubuntu-it - Launchpad
Solo/mous16
Avatar utente
ancarano
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 272
Iscrizione: venerdì 29 febbraio 2008, 9:33
Desktop: gnome
Distribuzione: Ubuntu 13.10 x64

Re: come creare uno script ?

Messaggio da ancarano »

quindi in linea teorica, posso fargli fare tutto quello che normalmente faccio con il terminale.
ma quando lo salvo..che estensione devo mettere?

Codice: Seleziona tutto

#!/bin/bash
questa riga è necessaria per ogni script che funzioni con comandi che normalmente avrei dato da terminale?

grazie per le risposte e per i link!
Avatar utente
mous16
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3940
Iscrizione: mercoledì 25 ottobre 2006, 15:51
Sesso: Maschile

Re: come creare uno script ?

Messaggio da mous16 »

quella riga mettila sempre all'inizio degli script (per bash)

le estensioni su linux non sono vincolanti... o senza estensione o .sh sono le più classiche
anche se non ne sei conscio le cartelle di sistema sono già piene di script... per esempio quando in un terminale scrivi "compiz" vai a lanciare un complicatissimo script che sta in /usr/bin/compiz!
Pagine personali: Forum Ubuntu-it - Wiki Ubuntu-it - Launchpad
Solo/mous16
Avatar utente
mc2new
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 911
Iscrizione: giovedì 25 gennaio 2007, 9:11
Località: Frosinone

Re: come creare uno script ?

Messaggio da mc2new »

L' estensione non è importante, anzi se non la metti funziona lo stesso (tanto quando lo lanci bash capisce che è un set di suoi comandi indipendentemente dalla sua estensione)
l' importante è rendere eseguibile il file, leggi il man di chmod.
"La cultura permette di capire quanto si è ignoranti"
http://picasaweb.google.com/spartenas/Wallpapers
Avatar utente
preben
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1188
Iscrizione: giovedì 12 luglio 2007, 20:58

Re: come creare uno script ?

Messaggio da preben »

ancarano ha scritto: quindi in linea teorica, posso fargli fare tutto quello che normalmente faccio con il terminale.
ma quando lo salvo..che estensione devo mettere?

Codice: Seleziona tutto

#!/bin/bash
questa riga è necessaria per ogni script che funzioni con comandi che normalmente avrei dato da terminale?

grazie per le risposte e per i link!
#!/bin/bash indica al sistema la presenza di istruzioni nel file che vanno passate alla shell indicata affinchè quest'ultima le interpreti.

Per rendere eseguibile lo script:

Codice: Seleziona tutto

chmod u+x nomeFile
Ciao!
Accusare gli altri delle proprie disgrazie è conseguenza della nostra ignoranza!
Avatar utente
ancarano
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 272
Iscrizione: venerdì 29 febbraio 2008, 9:33
Desktop: gnome
Distribuzione: Ubuntu 13.10 x64

Re: come creare uno script ?

Messaggio da ancarano »

ragazzi un enorme grazie a tutti, con dei semplici link mi avete reso molto piu chiara la situazione!
ora mi vedo bene il manuale base di bash, e provo a tirar giu qualcosa...

ad esempio vorrei fare un piccolo script che mi unisca automaticamente i file pdf presenti in una cartella in modo automatico, senza dover scrivere chilometri e chilometri di nomi file ogni volta (uso pdftk)!
casomai se ho problemi vi chiederò una mano (molto probabile  ;D)!

approfitto per un piccolissimo off topic: da terminale ho problemi ad aprire le cartella che hanno come nome "parola parola" con lo spazio in mezzo..come si fa?  ???
Avatar utente
mous16
Imperturbabile Insigne
Imperturbabile Insigne
Messaggi: 3940
Iscrizione: mercoledì 25 ottobre 2006, 15:51
Sesso: Maschile

Re: come creare uno script ?

Messaggio da mous16 »

per inserire i caratteri speciali come lo spazio, gli devi anteporre uno '\'
Inoltre ricordati che il tasto tab autocompleta (e se premuto 2 volte da le possibilità)
Pagine personali: Forum Ubuntu-it - Wiki Ubuntu-it - Launchpad
Solo/mous16
Avatar utente
mc2new
Scoppiettante Seguace
Scoppiettante Seguace
Messaggi: 911
Iscrizione: giovedì 25 gennaio 2007, 9:11
Località: Frosinone

Re: come creare uno script ?

Messaggio da mc2new »

ancarano ha scritto: ragazzi un enorme grazie a tutti, con dei semplici link mi avete reso molto piu chiara la situazione!
ora mi vedo bene il manuale base di bash, e provo a tirar giu qualcosa...

ad esempio vorrei fare un piccolo script che mi unisca automaticamente i file pdf presenti in una cartella in modo automatico, senza dover scrivere chilometri e chilometri di nomi file ogni volta (uso pdftk)!
casomai se ho problemi vi chiederò una mano (molto probabile  ;D)!

approfitto per un piccolissimo off topic: da terminale ho problemi ad aprire le cartella che hanno come nome "parola parola" con lo spazio in mezzo..come si fa?  ???
Puoi provare cosi: "parola parola"
"La cultura permette di capire quanto si è ignoranti"
http://picasaweb.google.com/spartenas/Wallpapers
Avatar utente
Lucazanna
Prode Principiante
Messaggi: 178
Iscrizione: giovedì 20 marzo 2008, 20:58
Località: carbonate

Re: come creare uno script ?

Messaggio da Lucazanna »

qui se t'interessa trovi una guida completa sullo scripting bash.
"Pensandoci adesso [...] non posso fare a meno di dubitare che esistano altre autentiche realizzazioni del nostro io più profondo che non siano la guerra e la malattia, questi due infiniti dell'incubo. " (L. F. Céline)
agrume
Prode Principiante
Messaggi: 69
Iscrizione: giovedì 4 gennaio 2007, 23:18

Re: come creare uno script ?

Messaggio da agrume »

Ciao se ti interessa c'è anche questa guida in inglese:
http://www.freeos.com/guides/lsst/ch02sec01.html
Secondo me è ben fatta!!!
Avatar utente
preben
Entusiasta Emergente
Entusiasta Emergente
Messaggi: 1188
Iscrizione: giovedì 12 luglio 2007, 20:58

Re: come creare uno script ?

Messaggio da preben »

Qui trovi una discussione su un libro per la bash.
Ciao!
Accusare gli altri delle proprie disgrazie è conseguenza della nostra ignoranza!
Rachele
Prode Principiante
Messaggi: 2
Iscrizione: giovedì 30 settembre 2010, 12:57

Re: come creare uno script ?

Messaggio da Rachele »

Anche io avrei bisogno di creare un semplicissimo scripit...ho fatto una breve ricerca su internet ma non ho trovato niente che mi aiutasse veramente.

devo lanciare dei comandi che si trovano nella directory

/opt/alps/bin/
in particolare dovrei lanciare da terminale comandi del tipo

/opt/alps/bin/convert2xlm inputfile
e
/opt/alps/bin/spinmc inputfile.in.xml

ecc ecc

in sostanza prima di ogni comando (nell'esempio precedente dato da convert2xml e spinmc) devo mettere sempre lo stesso path /opt/alps/bin/

e' possibile fare uno script che automaticamente faccia questo in modo che io possa semplicemente scrivere su terminale ad esempio script spinmc inputfile.in.xml ?

Scuste per la banalita' della domanda, grazie mille per l'aiuto
Rachele
Prode Principiante
Messaggi: 2
Iscrizione: giovedì 30 settembre 2010, 12:57

Re: come creare uno script ?

Messaggio da Rachele »

Ok scusate ho trovato la soluzione era veramente una sciocchezza...

ho semplicemente scritto lo script
/opt/alps/bin/$@

e cosi' funziona.

Grazie

Ciao ciao
Avatar utente
Zoff
Moderatore Globale
Moderatore Globale
Messaggi: 33338
Iscrizione: mercoledì 10 ottobre 2007, 22:36

Re: come creare uno script ?

Messaggio da Zoff »

@Rachele

Sono contento che tu abbia risolto ma ricordati la prossima volta che anziché scrivere in una discussione vecchia quasi 4 anni è preferibile aprire una nuova discussione :D

ciao ;)
Ultima modifica di Zoff il martedì 21 febbraio 2012, 14:41, modificato 1 volta in totale.
Prima di aprire una discussione leggi le Guide, poi vedi se c'è un HowTo nel Wiki e fai una ricerca nel Forum!
Applica semplicemente il [Risolto]! Prova: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=548821
Vuoi qualcosa di piu' dal forum? Prova i miei script: http://forum.ubuntu-it.org/viewtopic.php?f=70&t=597066
Scrivi risposta

Ritorna a “Programmazione”

Chi c’è in linea

Visualizzano questa sezione: 0 utenti iscritti e 4 ospiti