2011-01-10 8 views
13

Hola quiero un script de shell simple que encuentre el nombre del archivo de una ruta de acceso del archivo. comoscript de shell para encontrar el nombre de archivo de su ruta

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

entonces quiero obtener el valor "prueba" en alguna variable. También solo están presentes los archivos .php. Estoy usando Bash Shell. Gracias

Respuesta

31

Probar:

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

Las citas están allí sólo para evitar problemas cuando $path contiene espacios.

16

utilizar el construido en comandos de UNIX:

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

¡Gracias por esto! –

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]}"; 

Salida-

strings count = 4 
file : test.php 
2

Uso de la función nombre base(). Está bien en la función UNIX

Cuestiones relacionadas