2011-01-10 21 views
13

Ciao voglio un semplice script di shell che trovi il nome del file da un determinato percorso del file. comescript di shell per trovare il nome del file dal suo percorso

$path = "/var/www/html/test.php"; 

quindi voglio ottenere il valore "test" in alcune variabili. Sono presenti anche solo i file .php. Sto usando la shell bash. Grazie

risposta

31

Prova:

path="/var/www/html/test.php" 
name=$(basename "$path" ".php") 
echo "$name" 

le virgolette sono lì solo per evitare problemi quando $path contiene spazi.

16

utilizzare il costruito nel comando UNIX:

basename "/var/www/html/test.php" 
+0

Grazie per questo! –

1
string="/var/www/html/test.php" 

oIFS="$IFS"; IFS='/' 
set -A str $string 
IFS="$oIFS" 

echo "strings count = ${#str[@]}" 
len=${#str[@]} 
pos=`expr $len - 1` 
echo "file : ${str[$pos]}"; 

output-

strings count = 4 
file : test.php 
2

Utilizzare la funzione basename(). È perfettamente in funzione UNIX

Problemi correlati