PDA

Visualizza versione completa : script su linux


tritolo32
06-09-2002, 10.50.56
ciao a tutti gli esperti unix
----------------------------------------------------------------------------
sto facendo delle prove per creare uno script di prova ....

es :
-----------------------------------------------------------------------------------
vi ident
if
echo "prova prova"
if


dopo di che gli dò i diritti di eseguibile

lo lancio
-----------------------------------------------------------------------------------
./ident

ecco il messaggio che mi restituisce:

[prova@localhost prova]$ ./ident
bash: /root/.bashrc: Permission denied
./ident: line 5: syntax error: unexpected end of file
-----------------------------------------------------------------------------------
quindi ho pensato che era un problema di permiscion
"anche se sicuramente sarà un errore nello script"
quindi :

[root@localhost root]# /home/prova/ident
/home/prova/ident: line 5: syntax error: unexpected end of file

niente da fare ...
-----------------------------------------------------------------------------------
premetto che di script non capisco una mazza

qualcuno potrebbe essere così gentile da dirmi oltri a dove è sbagliato questo script , puo darmi una piccola spiegazione di come funzionano in maniera comprensibile
ho letto qualcosa ma è un pò arabo.

lo so che chiedo tanto

grazie comunque a tutti coloro che risponderanno

Manlio
06-09-2002, 12.13.00
per chiudere un ciclo if si usa fi (l'inverso di if) e non if stesso... e dà un invio dopo l'ultimo carattere dello script...

che inizia dichiarando il tipo di shell che deve eseguirlo:

#/bin/bash

... tuo script...

:p

tritolo32
06-09-2002, 14.51.33
ciao
cavolo hai ragione
ho dimenticato
#!bin/bash

giusto ????

Manlio
06-09-2002, 19.04.35
hai ragione... ho dimenticato il punto esclamativo!

#!/bin/sh

gigi
06-09-2002, 20.44.12
Ciao, io ho trovato due articoli abbastanza completi sugli script negli ultimi due numeri di Linux Pratico; adatti anche per un princiapiante come me.
L'ultimo numero dovrebbe essere ancora in edicola.
gigi :)

tritolo32
09-09-2002, 12.06.26
grazie manilo
e grazie gigi adesso provo subito il mio script

bye bye

tritolo32
09-09-2002, 12.16.44
ciao ragazzi brutta notizia non funziona guardate qua :

questo è lo script:

#!/bin/bash
if
echo "lo script così funziona"
fi

lo lancio ma non va ecco l 'errore


[root@localhost massi]# ./script_test
./script_test: line 4: syntax error near unexpected token `fi'
./script_test: line 4: `fi'
[root@localhost massi]#

gigi
11-09-2002, 02.05.29
Comincia da qualcosa di semplice. Ad esempio:
#!/bin/bash
# Script 1
ls -l
Salvi come script1,cambi i permessi con
chmod +x script1
poi dalla shell digiti ./script1
:) ciao

gigi
11-09-2002, 02.26.56
Oppure questo:
#!/bin/bash
#Script 3
if cp "$1" "$1~"
then
vi
else
echo "Non sono riuscito a creare una copia
di backup del file $1 !"
fi
Salva come script3,cambia i permessi con:
chmod +x
Apri la shell e digita ./script3 nome del file che vuoi
fare la copia.
:) gigi

tritolo32
11-09-2002, 15.40.47
ciao gigi ho provato i tuoi script funzionano
adesso cercherò di capirne un po la logica per esempio nel secondo:
if cp "$1" "$1~"
si puo impostare la destinazione di dove deve copiare il file !!!

grazie in anticipo

tritolo32
11-09-2002, 16.03.20
ciao guarda questo l'ho fatto io
ti piace

ho tolto il "vi" perche parlando con un collega a cosa serviva ????!!!


#!/bin/bash
if cp $1 /home/massi/prova/$1.old
then
echo "copia riuscita"
else
echo "Non sono riuscito a creare una copia
di backup del file $1 !"
fi


ciao

gigi
12-09-2002, 01.12.04
Se ti può aiutare puoi provare anche questo:
#!/bin/bash
#Questo script riconosce il tipo di file e chiama
#il programma ad esso associato
#per eseguirli
if file $1 | grep -qi html
then
galeon $1
elif file $1 | grep -qi ascii
then
vi $1
elif file $1 | grep -qi mp3
then
xmms $1
else
echo " Mi dispiace non riconosco il tipo di file
$1"
fi
:) ciao