Skip to content
hlodowig edited this page Apr 30, 2012 · 12 revisions

lib_find - Find library

NAME

lib_find - Restituisce il path della libreria passato come parametro.

SYNOPSIS

lib_find [OPTIONS] [dir:...][archive@:][dir:...]<lib_name>
    
lib_find [OPTIONS] -f|--file <lib_file>
    
lib_find [OPTIONS] -d|--dir <lib_dir>

DESCRIPTION

Il comando lib_find trova il path associato ad una libreria, sia essa file o cartella.

OPTIONS

    -f, --file
        Verifica se il file di libreria esiste, senza eseguire operazioni di naming.
        Se il file non esiste, ritorna un exit code pari a 1, altrimenti ritorna 0
        e ne stampa il path sullo standard output (se l'optione quiet non è specificata).
    
    -d, --dir
        Verifica se la directory specificata dal path esiste, senza eseguire
        operazioni di naming.
        Se la directory non esiste, ritorna un exit code pari a 1, altrimenti ritorna 0
        e ne stampa il path sullo standard output (se l'optione quiet non è specificata).
    
    -a, --archive  ARCHIVE_PATH[:LIB_PATH]
        Verifica se l'archivio specificato, o il file contenuto in esso, esiste, senza eseguire
        operazioni di naming.
        Se l'archivio, o il file in esso specificato, non esiste, ritorna un exit code pari a 1, 
        altrimenti ritorna 0 e ne stampa il path sullo standard output 
        (se l'optione quiet non è specificata).

    -p, --add-libpath
        Aggiuge temporaneamente una nuova lista di path di libreria a quelli presenti
        nella variabile d'ambiente LIB_PATH.
    
    -P, --libpath
        Imposta temporaneamente una nuova lista di path di libreria, invece di quelli 
        presenti nella variabile d'ambiente LIB_PATH.
    
    -F, --first
        Ritorna il primo path di libreria che corrisponde al nome di libreria cercato.
    
    -A, --all
        Ritorna tutti i path di libreria che corrispondono al nome di libreria cercato.
    
    -q, --quiet
        Non stampa il path sullo standard output.
    
    -Q, --no-quiet
        Se trova il file, lo stampa sullo standard output.

LIBRARY NAMING

    Il comando lib_find di default associa ad ogni file di libreria un nome.
    Una libreria potrebbe essere o un file o una cartella contenente altri file
    di libreria.
    
    Il nome di una libreria è così costruito:
    - se il file o la cartella di libreria ha una directory genitrice che si trova 
      nella variabile LIB_PATH, questa è eliminata dal path.
    - se la libreria è un file l'estensione '.lsf' viene omessa.
    - Optionalmente il carattere '/' può essere sostituito dal carattere ':'

see [lib_name] (https://github.com/hlodowig/lsf/wiki/lib_name)

EXAMPLES

    Se la libreria cercata è, ad esempio, 'math:sin', il comanando cerchera
    all'interno di ogni cartella della variabile LIB_PATH, o il file 'math/sin.lsf'
    oppure la cartella math/sin.
    
    
    ~ > LIB_PATH=/home/wataru/lib1:/home/wataru/lib2       oppure  
    ~ > lib_path_set /home/wataru/lib1:/home/wataru/lib2   oppure
    ~ > lib_path_add /home/wataru/lib1
    ~ > lib_path_add /home/wataru/lib2
    
    ~ > ls -R lib1
        lib1/:
        a.lib b.lib dir1
        lib1/dir1:
        c.lib dir2
        lib1/dir1/dir2
        d.lib f.lib 
        ls -R lib2
        lib2/:
        g.lib
    
    ~ > lib_find a
        /home/wataru/lib1/a.lib (return 0)
    
    ~ > lib_find b
        /home/wataru/lib1/b.lib (return 0)
    
    ~ > lib_find g
        /home/wataru/lib2/g.lib (return 0)
    
    ~ > lib_find dir1
        /home/wataru/lib1/dir1 (return 0)
    
    ~ > lib_find dir1:c          oppure     lib_find dir1/c
        /home/wataru/lib1/dir1/c.lib (return 0)
    
    ~ > lib_find dir1:dir2       oppure     lib_find dir1/dir2
        /home/wataru/lib1/dir1/dir2 (return 0)
    
    ~ > lib_find dir1:dir2:d     oppure     lib_find dir1/dir2/d
        /home/wataru/lib1/dir1/dir2/d.lib (return 0)
    
    ~ > lib_find dir1:dir2:f     oppure     lib_find dir1/dir2/f
        /home/wataru/lib1/dir1/dir2/f.lib (return 0)
    
    ~ > lib_find --file lib2/g.lib
        /home/wataru/lib2/g.lib (return 0)
    
    ~ > lib_find --file lib1/g.lib
        (return 1)

    ~ > lib_find --dir lib1/dir1
        /home/wataru/lib1/dir1 (return 0)
    
    ~ > lib_find --dir lib2/dir1
        (return 1)
Clone this wiki locally