BASENAME(P)

NOME
basename - restituisce la porzione non-directory di un nome percorso

SINTASSI

basename stringa [suffisso]

DESCRIZIONE

L'operando stringa deve essere trattato come nome di percorso, come definito nel volume Base Definitions volume di IEEE Std 1003.1-2001, Sezione 3.266, Pathname. La stringa stringa deve essere convertita al nome file corrispondente all'ultimo componente del nome percorso in stringa e quindi il suffisso stringa suffisso, se presente, deve essere rimosso. Questo deve essere fatto effettuando azioni equivalenti ai seguenti passi nell'ordine:

1.  Se stringa è una stringa nulla, non è specificato se la stringa risultante è '.' o una stringa nulla. In entrambi i casi saltare i passi da 2 a 6.

2.  Se stringa è "//" , essa è definita dall'implementazione, sia che i passi da 3 a 6 siano saltati sia che siano processati.

3.  Se stringa consiste interamente di caratteri slash, stringa deve venire impostata a un carattere di slash singolo. In questo caso saltare i passi da 4 a 6.

4.  Se non c'è alcun carattere slash finale in stringa, essi devono essere rimossi.

5.  Se non c'è nessun carattere slash rimanente in stringa, il prefisso di stringa fino a e incluso l'ultimo carattere slash in string deve venire rimosso.

6.  Se l'operando suffisso è presente, non è identico ai caratteri rimanenti in stringa, ed è identico a un suffisso dei caratteri rimanenti in stringa, il suffisso suffisso deve venire rimosso da stringa. Altrimenti stringa non è modificata da questo passo. Esso non deve venire considerato un arrore se suffisso non si trova in stringa.

La stringa risultante deve essere scritta sullo standard output.

OPZIONI

Nessuna.

OPERANDI

Devono essere supportati i seguenti operandi:

stringa
    Una stringa.

suffisso
    Una stringa.

STDIN

Non usato.

FILE DI INPUT

Nessuno.

VERIABILI D'AMBIENTE

Le seguenti variabili d'ambiente possono influenzare l'esecuzione di basename:

LANG
    Fornisce un valore di default per le variabili di internazionalizzazione che sono non impostte e nulle. (Vedere il volume Base Definitions di IEEE Std 1003.1-2001, Sezione 8.2, Internationalization Variables per la precedenza delle variabili di internazionalizzazione usata per determinare i valori delle categorie locali).

LC_ALL
    Se impostato a un valore di stringa non vuota, sovrascrive i valori di tutte le altre variabili di internazionalizzazione.

LC_CTYPE
    Determina la localizzazione per l'interpretazione di sequenze di byte di dati di testo come caratteri (per esempio caratteri a singolo byte e caratteri multi-byte negli argomenti).

LC_MESSAGES
    Determina la localizzazione che deve essere usata per influenzare formato e contenuti dei messaggi di diagnostica scritti sullo standard error.

NLSPATH
    Determina la locazione dei cataloghi messaggi per il processamento di fILC_MESSAGES.

EVENTI ASINCRONI

Default.

STDOUT

L'utilità basename deve scrivere una linea sullo standard output nel seguente formato:

    "%s\n", <stringa risultante>

STDERR

Lo standard error deve essere usato solo per i messaggi di diagnostica.

FILE DI OUTPUT

Nessuno.

DESCRIZIONE ESTESA

Nessuna.

STATO DI USCITA

Devono essere restituiti i seguenti valori stati di uscita:

0   Completamento avvenuto con successo.

>0  C'è stato un errore.

CONSEGUENZE DEGLI ERRORI

Default.

Le seguenti sezioni sono informative.

USO DELL'APPLICAZIONE

La definizione di pathname specifica un comportamento definito dall'implementazione per nomi di percorso che iniziano con due caratteri slash. Pertanto le applicazioni non devono aggiungere arbitrariamente slash all'inizio di un nome di percorso a meno che non possano assicurare che ce no sono più o meno di due o sono preparate a trattare conseguenze definite dall'implementazione.

ESEMPI

Se la stringa stringa è un nome di percorso valido:

    $(basename "stringa")

produce un nome file che può essere usato per aprire il nome chiamato da string nella directory restituita da:

    $(dirname "stringa")

Se la stringa stringa non è un nome di percorso valido, è usato lo stesso algoritmo, ma il risultato non ha bisogno di essere un valido nome di file. L'utilità basename non deve dare alcun giudizio sulla validità di stringa come nome di percorso; essa semplicemente segue l'algoritmo specificato per produrre una stringa risultato.

Il seguente script di shell compila /usr/src/cmd/cat.c e sposta l'output su un file chiamato cat nella directory corrente quando invocato con l'argomento /usr/src/cmd/cat o con l'argomento /usr/src/cmd/cat.c:

    c99 $(dirname "$1")/$(basename "$1" .c).c
    mv a.out $(basename "$1" .c)

LOGICA

Il comportamento di basename a dirname sono stati coordinati in modo che stringa sia un nome di percorso valido:

    $(basename "stringa")

sarà un valido nome file per il file nella directory:

    $(dirname "stringa")

Questo non funzionerà per le prime versioni proposte di queste utilità dovuto al modo in cui specifica la gestione degli slash finali.

Poiché la definizione di pathname specifica comportamenti definiti dall'implementazione per nomi di percorso che iniziano con due caratteri slash, questo volume di IEEE Std 1003.1-2001 specifica simili ambienti definiti dall'implementazione per le utilità basename e dirname.

DIREZIONI FUTURE

Vuoto.

VEDERE ANCHE

Parameters and Variables , dirname()

COPYRIGHT
Portions of this text are reprinted and reproduced in electronic form from IEEE Std 1003.1, 2003 Edition, Standard for Information Technology -- Portable Operating System Interface (POSIX), The Open Group Base Specifications Issue 6, Copyright (C) 2001-2003 by the Institute of Electrical and Electronics Engineers, Inc and The Open Group. In the event of any discrepancy between this version and the original IEEE and The Open Group Standard, the original IEEE and The Open Group Standard is the referee document. The original Standard can be obtained online at http://www.opengroup.org/unix/online.html .