Tutto il blog è stato spostato all'indirizzo
http://pierprogramm.altervista.org/wordpress/


I post memorizzati qui non verranno rimossi ma saranno obsoleti. Questo blog non sarà più aggiornato.
Visualizzazione post con etichetta bash. Mostra tutti i post
Visualizzazione post con etichetta bash. Mostra tutti i post

giovedì 4 agosto 2011

Eseguire file eseguibili. Script per nautilus

Sapete cos'e' Nautilus vero? E' il gestore file di Ubuntu! Quello che usate per esplorare le cartelle!

Ho scritto uno semplice script bash per Nautilus che permette, tramite tasto destro, di eseguire qualsiasi file eseguibile nel terminale.

A breve faro' anche un video, cosi' per chiarire meglio le operazioni.

Questo script fa parte di una mini raccolta di script(per adesso sono solo 4, presto ne pubblichero' altri) che potete scaricare dal link qui sotto

Scarica da qui

Per l'installazione scompattate l'archivio in una cartella a piacere ed eseguite lo script copy_script_in_nautilus-scripts.sh

Da ora per eseguire i vostri file eseguibili dovrete (da nautilus) cliccarci sopra con il tasto destro e andare su Script > EsegueFileEseguibili_xterm.sh
Non c'e' bisogno di impostare i permessi di esecuzione, se la vede lui stesso a impostarli.

In merito agli altri tre:
Terminale_qui.sh: apre un terminale nella posizione in cui viene chiamato
Terminale_ROOT_qui.sh: apre un terminale con i permessi ROOT nella posizione in cui viene chiamato
EsegueProgrammiTerminale_gnometerminal.sh: la funzionalita' e' la stessa di EsegueFileEseguibili_xterm.sh, ma usa gnome-terminal. Il vantaggio e' che usa il terminale che siamo abituati a vedere, lo svantaggio e' che se il programma eseguito non si mette in pausa al suo termine, il terminale si chiudera' e non sara' possibile visualizzare l'output.

mercoledì 13 luglio 2011

Operatori (confronto,logici) linguaggio Bash

Tra i linguaggi che ho (e sto) studiato il linguaggio Bash e' sicuramente il piu' difficile da comprendere quando si parla di operatori di confronto e logici. Specialmente perche' si usano operatori differenti per stringhe e interi.
Questa vuole essere una specie di appendice per chi, gia' un po' esperto, sta imparando a programmare in questo linguaggio.


Operatori di Confronto (STRINGHE)

-n : Verifica che la stringa sia di lunghezza maggiore di zero

-z : Verifica che la stringa abbia lunghezza zero

= : Verifica che due stringhe siano uguali

!= : Verifica che due stringhe siano diverse

< : Verifica che la prima stringa sia lessicograficamente minore della seconda
> : Verifica che la prima stringa sia lessicograficamente maggiore della seconda



Operatori Logici (STRINGHE)

! : Operatore di negazione, inverte il valore logico dell'espressione al quale viene applicato. !(vero) = falso

-a : Operatore AND. Ritorna vero se entrambi gli argomenti passati lo sono.

-o : Operatore OR. Ritorna vero se almeno uno degli argomenti lo e'.





Operatori di Confronto (NUMERI)

op1 -eq op2 : Vero se gli operandi sono uguali.

op1 -ne op2 : Vero se gli operandi sono differenti.

op1 -lt op2 : Vero se il primo operando e' inferiore al secondo.

op1 -le op2 : Vero se il primo operando e' inferiore o uguale al secondo.

op1 -gt op2 : Vero se il primo operando e' maggiore del secondo.

op1 -ge op2 : Vero se il primo operando e' maggiore o uguale al secondo.



Operatori Logici (NUMERI)

! espressione : Inverte il risultato logico dell’espressione.

espressione -a espressione : Vero se entrambe le espressioni danno un risultato Vero.

espressione -o espressione : Vero se almeno un’espressione dà un risultato Vero.







Operatori (FILE)

-e file : Vero se il file esiste ed e' di qualunque tipo.

-b file : Vero se il file esiste ed e' un dispositivo a blocchi.

-c file : Vero se il file esiste ed e' un dispositivo a caratteri.

-d file : Vero se il file esiste ed e' una directory.

-f file : Vero se il file esiste ed e' un file normale.

-L file : Vero se il file esiste ed e' un collegamento simbolico.

-p file : Vero se il file esiste ed e' una pipe con nome.

-S file : Vero se il file esiste ed e' un socket.

-t : Vero se lo standard output e' aperto su un terminale.



Permessi (FILE)

-g file : Vero se il file esiste ed e' impostato il suo bit SGID.

-u file : Vero se il file esiste ed e' impostato il suo bit SUID.

-k file : Vero se il file ha il bit Sticky attivo.

-r file : Vero se il file esiste ed e' leggibile.

-w file : Vero se il file esiste ed e' scrivibile.

-x file : Vero se il file esiste ed e' eseguibile.

-O file : Vero se il file esiste e appartiene all’UID efficace dell’utente attuale.

-G file : Vero se il file esiste e appartiene al GID efficace dell’utente attuale.



Altri operatori (FILE)

-s file : Vero se il file esiste e ha una dimensione maggiore di zero.

file1 -nt file2 : Vero se il primo file ha la data di modifica più recente.

file1 -ot file2 : Vero se il primo file ha la data di modifica più vecchia.

file1 -et file2 : Vero se i due nomi corrispondono allo stesso inode.

mercoledì 22 settembre 2010

Eseguire script bash

Per eseguire script bash (.sh) sono possibili due vie:

1) Aprire il terminale, posizionarsi nella cartella dove e' presente lo script, eseguire il comando "sh nomeScript.sh". Oppure aprire il terminale e digitare il comando "sh path_completo_script", dove path_completo_script e' il path (percorso) assoluto del file .sh (es. sh /home/nomeutente/Documenti/nomeScript.sh)

2) Entrare nella cartella dello script con Nautilus, cliccare col tasto destro sullo script, scegliere Proprieta', andare sulla scheda "Permessi" e spuntare la casella "Consentire l'esecuzione del file come programma". Fare doppio click sullo script, si aprira' una finestra che ci chiedera' come Ubuntu si deve comportare con il file, quindi cliccare sul pulsante "Esegui nel terminale".

Se volete ho scritto anche un breve script, seguito da un lanciatore, che prendendo in input il path assoluto del vostro script, lo esegue immediatamente senza la necessita' di aprire il terminale.

Scarica lo script

E' necessario pero' eseguire lo script almeno una volta con uno dei due metodi descritti prima per permettergli la creazione del proprio lanciatore.

Scarica questo articolo in versione pdf!