Terminal fichier shell script

micmiachel

Membre confirmé
22 Février 2016
12
0
77
Si j'écrit ce shell sous terminal
cd /Users/michel/Serveur Média/
je vais dans le dossier Serveur Média
ça se passe bien

impossible avec la fichier batch ci dessous
problème d'accent
Ce batch fonctionne correctement si je supprime le é et le remplace par e en rennomant le dossier

Merci de vos réponses


#!/bin/tcsh
#! ----------------------------------------------------------
dossier=Chansons
#! ----------------------------------------------------------
dossiertest=/Volumes/SAVE/.Trashes
#! ----------------------------------------------------------
if [ -d $dossiertest ]; then
cd /Volumes/SAVE/
clear
echo "dossier "$dossier" C Copi ou S supprime ?"
read reponse
case $reponse in
#! -------------------------------------------------
cd /Users/michel/Serveur Média/
#! -------------------------------------------------
[cC]*) cp -R -f -p /"$dossier"/ /Volumes/SAVE/"$dossier";;
[sS]*) cd /Volumes/SAVE/
sudo rm -r -f "$dossier";;
[6]*) echo "$0 ERREUR de saisie ;-)"
exit 0;;
*) echo "ERREUR de saisie"
exit 1;;
esac
else
echo "$fichier n'est pas present"
fi
#! Ferme la fenêtre terminal (remplace exit et Ctrl Q)
osascript -e 'tell application "Terminal" to quit' &
exit

IMac 2.16 GHz Intel Core Duo 20" de fin 2006
Build 10K549
N° de série W864565KVUV
EMC 2118
OS Snow Leopard 10.6.8

Terminal version 2.1.2
 
Ceci n'est pas très bon :
cd /Users/michel/Serveur Média/
ce devrait être :
cd /Users/michel/"Serveur Média"/
 
Ceci n'est pas très bon :
cd /Users/michel/Serveur Média/
ce devrait être :
cd /Users/michel/"Serveur Média"/



cd /Users/michel/"Serveur Média"/
fonctionne en shell sans problème


si je crée un script bash
le é se transforme en ?
Il y un problème d'encodage ou ... ou c'est peut être impossible
 
Les caractères ISO ne sont en général guère appréciés des shells. Tu pourrais essayer de passer le codage du fichier en UTF-8 ; les shells sont désormais supposés savoir le gérer.

Reste qu’éviter les caractères avec diacritiques est une bonne pratique.
 
Sous UNIX pour les noms de fichiers contente toi de [A-Za-z0-9_-]. Au delà de cette liste tu risques des ennuis ...