|
|
|
![]() |
|
Strumenti |
![]() |
#1 |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
Scripting Bash
ciao!
sapete dove posso trovare una guida sullo scripting bash (anche solo dei comandi base)? grazie |
![]() |
![]() |
![]() |
#2 |
Senior Member
Iscritto dal: Oct 2001
Messaggi: 11471
|
Guida avanzata di scripting Bash: http://www.pluto.it/files/ildp/guide/abs/ c'è tutto. Dalle basi fino all'uso veramente avanzato.
ciao ![]() |
![]() |
![]() |
![]() |
#3 |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
ciao!
ho dei problemi con lo scripting shell: ho provato a creare il classico programmino hello word con vi! l'ho salvato nel file ciao.sh, poi con chmod ho abilitato il file, ma quando scrivo "ciao" o "ciao.sh" il programma non mi parte e mi da un messaggio di errore.. da cosa può essere provocato? grazie |
![]() |
![]() |
![]() |
#4 |
Senior Member
Iscritto dal: Mar 2006
Città: Bergamo
Messaggi: 2499
|
dipende dal messaggio di errore!
incollalo quà altrimenti è difficile capire il problema |
![]() |
![]() |
![]() |
#5 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
P.S.: oltre a guide varie (come ti ha già segnalato VICIUS), il manuale ufficiale lo trovi qui: http://www.gnu.org/software/bash/manual/
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#6 |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
l'errore che mi da è "no such file or directory"
|
![]() |
![]() |
![]() |
#7 |
Senior Member
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
|
Sembra che scrivi male il nome del file. Se fosse un problema di path ti darebbe un errore diverso (command not found).
Usa il completamento automatico della shell (tasto TAB), che oltre a essere comodo (non devi star lì a scrivere il nome per esteso) ti evita errori di digitazione.
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
![]() |
![]() |
![]() |
#8 |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
non saprei..
il fatto è che il file è "ciao.sh" ed è impossibile che mi sia sempre sbagliato a scriverlo! |
![]() |
![]() |
![]() |
#9 |
Senior Member
Iscritto dal: Aug 2006
Messaggi: 365
|
il comando
Codice:
./ciao.sh altrimenti devi mettere il path completo: es se ti trovi in Codice:
/home/pippo Codice:
/home/pippo/scripts/ciao.sh Codice:
scripts/ciao.sh ![]() |
![]() |
![]() |
![]() |
#10 |
Senior Member
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
|
Veramente strano. Comincio a pensare che ci possa essere qualche errore all'interno dello script, allora. Non vedo alternative. Prova a postarlo, magari.
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
![]() |
![]() |
![]() |
#11 |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
scusate se vi ho fatto perdere tempo, ma era un errore banalissimo nello script: nel commento all'inizio dello script (quello per riconoscere la shell usata) c'era una / in meno!
comunque ho un altro paio di questioni: con il comando touch creo un file e se visualizzo con ls il contenuto della cartella lo vedo di colore rosa! se poi provo a visualizzare ancora con ls è scomparso! cosa significa tutto questo? che procedura di comandi devo usare per creare una partizione nei dischi? grazie in anticipo! |
![]() |
![]() |
![]() |
#12 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
Poi bisogna vedere cosa hai fatto con ls ... perché dici che è scomparso il file? C'è l'utility "fdisk", che funziona in modalità testuale. Naturalmente ci sono svariate altre utility, anche in ambiente grafico, per partizionare i dischi.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#13 | ||
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
Quote:
sono nella cartella "script". da li uso il comando "touch esempio.ext", poi uso ls e il file esempio.ext mi compare assieme agli altri, anche se è di colore rosa. se poi riprovo ancora a fare ls, il file non c'è più! è scomparso perchè il comando touch non crea un file? Quote:
grazie! |
||
![]() |
![]() |
![]() |
#14 | |
Senior Member
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
|
Quote:
touch crea un file; vuoto, ma lo crea. Guarda qui: Codice:
(gio-19:38)[guldo@debian:tmp]$ ls foo.test ls: foo.test: No such file or directory (gio-19:38)[guldo@debian:tmp]$ touch foo.test (gio-19:38)[guldo@debian:tmp]$ ls -lh foo.test -rw-r--r-- 1 guldo guldo 0 2007-02-15 19:38 foo.test (gio-19:39)[guldo@debian:tmp]$ file foo.test foo.test: empty (gio-19:39)[guldo@debian:tmp]$ ls foo.test foo.test (gio-19:40)[guldo@debian:tmp]$
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
|
![]() |
![]() |
![]() |
#15 |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
effettivamente ora rimangono, ma dici che centra qualcosa il fatto che quelli che "sparivano" erano nella cartella /home/nomeuser?
già che ci sono faccio un'altra domanda: ho trovato questa funzione: # !/bin/bash function chext() { if [ $# -ne 2 ]; then echo "Almeno due parametri"; return -1; fi; for i in *.$1; do mv $i $(basename $i .$1).$2; done } praticamente questa funzione attacca al file con estensione specificata con $1 l'estensione specificata con $2 io l'ho scritta in un file, ma come faccio a invocarla quando voglio? ho provato a fare (esempio) chext (ex1, ex2), ma mi dice "bash: syntax error near unexpected token 'ex1,' dove sto sbagliando questa volta? scusate se sono domande da principiante, ma è quello che sono! ![]() |
![]() |
![]() |
![]() |
#16 | |
Senior Member
Iscritto dal: Nov 2005
Città: TO
Messaggi: 5206
|
Quote:
. filename [arguments] oppure source filename [arguments] Serve per far sì che il file venga letto ed eseguito nel contesto della shell corrente (puoi farlo anche all'interno di un tuo script). Le definizioni di funzioni e variabili presenti nel file saranno quindi poi disponibili alla shell.
__________________
Andrea, SCJP 5 (91%) - SCWCD 5 (94%) |
|
![]() |
![]() |
![]() |
#17 | |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
Quote:
|
|
![]() |
![]() |
![]() |
#18 |
Senior Member
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
|
No, no, tu ti sei voluto complicare la vita per niente con una funzione.
Non c'era bisogno di creare una funzione, avresti potuto creare uno script che contenesse direttamente il corpo della tua funzione. Così fai confusione. Nel tuo caso (file che contiene una funzione), i passaggi sono due:
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
![]() |
![]() |
![]() |
#19 | |
Senior Member
Iscritto dal: Dec 2006
Città: Brescia
Messaggi: 497
|
Quote:
|
|
![]() |
![]() |
![]() |
#20 |
Senior Member
Iscritto dal: Nov 2002
Città: Morio Cho
Messaggi: 2595
|
Basta commentare la riga
function chext() { (e la relativa parentesi graffa chiusa) Allora potrai fare direttamente: ./chext.sh ex1 ex2 Inoltre tutti i ; che hai messo non servono. Il ; serve per mettere più di un comando su una stessa riga, ma se vai a capo è inutile. p.s.: dubito che il programma funzioni correttamente con file i cui nomi contengono degli spazi... ma per ora lascia perdere.
__________________
Sono GULDO, non Guido! Cioè, certo che guido... Bé, insomma, avete capito ![]() Linux 2.6.26|Debian|Debian@Hwupgrade|Debian Clan|Solo Puffin ti darà forza e grinta a volontà! NERD rank 62|Milla Jovovich|大事な物はいつも形の無い物だけ Sito e Forum sul Giappone|La mia libreria su aNobii |
![]() |
![]() |
![]() |
Strumenti | |
|
|
Tutti gli orari sono GMT +1. Ora sono le: 07:25.