-
Notifications
You must be signed in to change notification settings - Fork 1
lib_find
hlodowig edited this page Apr 30, 2012
·
12 revisions
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)