Bonjour,
Ci-dessous un script de test que j’exécute avec Nautilus Scripts.
Je souhaite effectuer une action différente, selon que l’élément sélectionné soit un fichier ou un répertoire.
[code]#!/bin/bash
echo “selection Nautilus : $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS” > /home/td/catfish_out
selection=$NAUTILUS_SCRIPT_SELECTED_FILE_PATHS
if [ -d $selection ]
then
echo $selection est un repertoire >> /home/td/catfish_out
fi
if [ -f $selection ]
then
echo $selection est un fichier >> /home/td/catfish_out
fi
[/code]
Cependant, j’ai un problème avec les noms qui contiennent des espaces. La variable NAUTILUS_SCRIPT_SELECTED_FILE_PATHS contient bien le nom complet avec espaces, mais lors du passage à la commande test, celle-ci s’arrête au 1er espace, et donc le test échoue.
Plus clairement : soit un nom de répertoire “repertoire espace”.
NAUTILUS_SCRIPT_SELECTED_FILE_PATHS retourne bien :
Mais [ -d $NAUTILUS_SCRIPT_SELECTED_FILE_PATHS ] interprète :
Comment faire pour que le test fonctionne avec des noms à espaces ?
