# Basename



### basename

Récupérer la dernière partie d'un chemin (nom du fichier):

```bash
basename /usr/local/etc/php/8.0/conf.d/ext-apcu.ini

ext-apcu.ini
```
Récupérer la dernière partie d'un chemin (dossier):

```bash
basename /usr/local/etc/php/8.0/conf.d/

conf.d
```

Récupérer le nom de fichier sans l'extension

```bash
basename -s .ini /usr/local/etc/php/8.0/conf.d/ext-apcu.ini

ext-apcu
```

Sur plusieurs chemins:

```bash
basename -a -s .ini /usr/local/etc/php/8.0/conf.d/ext-apcu.ini 

/usr/local/etc/php/7.3/conf.d/ext-ssh2.ini
ext-apcu
ext-ssh2
```





### dirname

Récupérer le chemin (sans le nom du fichier):

```bash
dirname /usr/local/etc/php/8.0/conf.d/ext-apcu.ini

/usr/local/etc/php/8.0/conf.d
```

Si le chemin n'est pas indiqué:

```bash
/usr/local/etc/php/7.3/conf.d
dirname ext-apcu.ini
.
```



#### $0

Récupérer le chemin du script courant:

```bash
nano chemins.sh
```



```bash title="chemins.sh"
#!/usr/local/bin/bash

echo "Chemin du script: " $0
echo "Le script exécuté a comme basename `basename "$0"`, dirname `dirname "$0"`"
echo "Le répertoire courant est `pwd`"
```



```bash title="./chemins.sh"
Chemin du script:  ./chemins.sh
Le script exécuté a comme basename chemins.sh, dirname .
Le répertoire courant est /Users/bruno/Documents/shell_scripts
```

```bash title="/Users/bruno/Documents/shell_scripts/chemins.sh"
Chemin du script:  /Users/bruno/Documents/shell_scripts/chemins.sh
Le script exécuté a comme basename chemins.sh, dirname /Users/bruno/Documents/shell_scripts
Le répertoire courant est /Users/bruno/Documents/shell_scripts
```



#### realpath

```bash
fullPATH=$(realpath "$0")

echo "fullPATH: $fullPATH"
fullPATH: /Users/bruno/Documents/Scripts/bash/handbrake_for_plex.sh
```

