Newsgroup: it.comp.os.linux.development
Titolo: Shell Scripting

Buongiorno a tutti,
ho una difficoltą,spero possiate darmi un aiuto.
Uso Ubuntu "feisty fawn",sto utilizzando lo shell scripting,quando 
costruisco un file con estensione ".sh" che richiama una funzione contenuta 
in un altro file con estensione ".lib" lo script in oggetto non funziona 
bene,in particolare nelle righe in cui c'č la chiamata di funzione il 
Terminale mi segnala :"line numerodiriga > nomefunzione not found".
Il problema invece non sussiste quando la funzione č definita e chiamata 
all'interno dello stesso file.
Come posso risolvere??
Eventuali suggerimenti sono molto graditi.
Buona Giornata. 

 Il problema invece non sussiste quando la funzione è definita e chiamata 


 writes:
e> cmq ti sconsiglio l'uso della estensione .lib ma preferisco cmq usare
e> la estensione sh o ksh 
Io  sconsiglierei l'uso  delle  estensioni, che  non hanno  praticamente
senso(*)  in Unix e  GNU/Linux: il  tipo del  file è  dato solo  dal suo
contenuto. Per gli script è molto più importante il 
#!/nome/programma
as inizio file.
(*) per il sistema, e gli script sono lanciati dal sistema. Però lcuni
programmi, tra cui gcc e gzip si basano sull'estensione dei file per
capire come processarli: 
saint@cyrano:~$ cat > pippo.k
#include <stdio.h>
int main(argc, argv)
int argc;
char **argv;
{
        printf("Hello world");
}
saint@cyrano:~$ gcc pippo.k
pippo.k: file not recognized: File format not recognized
collect2: ld returned 1 exit status
saint@cyrano:~$ man gcc
saint@cyrano:~$ file pippo.k
pippo.k: ASCII C program text
saint@cyrano:~$ mv pippo.k pippo.c
saint@cyrano:~$ gcc pippo.c
saint@cyrano:~$ 
-- 
 /\           ___                                    Ubuntu: ancient
/___/\_|_|\_|__|___Gian Uberto Lauri_____               African word
  //--\| | \|  |   Integralista GNUslamico            meaning "I can
\/                   e coltivatore diretto               not install
                               di software                   Debian"
a Cesare avrei detto di scrivermi | I would have told Caesar to write
a 
fn...@rat.vg
                    | me at 
fn...@rat.vg

Purtroppo includevo già il percorso del file contenente la funzione,ma 
neanche funzionava.
Ho utilizzato i vostri suggerimenti ma non cambia.
Non ho incluso nei nomi le estensioni,il sistema riconosce comunque il file 
ma mi dà sempre lo stesso errore.Situazione identica se invece cambio ".lib" 
con ".sh"
Avevo addirittura pensato che mancasse qualche pacchetto al sistema 
operativo(ipotesi remota) ma ho fatto tutti gli aggiornamenti possibili.
Secondo voi può esserci  qualcos'altro?? 

 Secondo voi può esserci  qualcos'altro?? 
Ma come lo includi?  Semplicemente con la chiamata o come sourcing, cioè:
. ./pippo.lib		## notare il punto  	oppure:
source ./pippo.lib	## source ha lo stesso significato del '.'
Usata in questo modo l'estensione del file non ha alcun significato e 
può essere qualsiasi (sempre se stai usando la shell bash).
Ciao
Giovanni
-- 
   A computer is like an air conditioner,
   it stops working when you open Windows.
   Registered Linux user #337974  < 
http://giovanni.homelinux.net/
 >

 con ".sh"
ma l'hai messo il punto?
". ./libreria"

 source ./pippo.lib ## source ha lo stesso significato del '.'
Ho provato ad includere con source e funziona!!!Non capisco perchč 
nell'altro modo non funzioni,cmq grazie mille per l'ottimo suggerimento e 
grazie a tutti per l'interessamento.
Buon Lavoro.