Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

Samba : Serveur Windows, Client Linux et accents

3 réponses
Avatar
Thierry Leurent
Bonjour,

Je suis confront=E9 =E0 un gros probl=E8me.
Sur un linux, je dois monter un partage windows et utiliser un script qui=20
entre-autre me place dans l'un des r=E9pertoires.

Je map le drive sous windows et je remarque que j'ai 3 sous-r=E9pertoires:
Donn=E9es 1
Donn=E9es 2
Donn=E9es 3
Je monte le partage windows dans /mnt/distant
Je fais un ls /mnt/distant, je constate que j'ai 3 r=E9pertoires
Donn?es 1
Donn?es 2
Donn?es 3

En ligne de commande, je fais un cd /mnt/distant/Donn?es\ 1 puis un pwd
J'ai /mnt/distant/Donnes 1 ou /mnt/distant/Donn es 1 selon l'=E9mulateur.
Je cr=E9e un petit script avec ces lignes =E0 l'int=E9rieur :

Rep1=3D"/mnt/Donn?es\ 1"
Rep2=3D"/mnt/Donn?es 2"
Rep3=3D"/home/a moi/src"

cd $Rep1
cd "$Rep2"
cd /mnt/Donn?es\ 03
pwd
cd "$Rep3"
pwd

Les deux premiers cd de donnent une erreur... Le r=E9pertoire n'existe pas =
ou=20
n'est pas un r=E9pertoire.
Les deux derniers fonctionnent

On dirait que bash interpr=E8te diff=E8rement le ? si il est dans une varia=
ble ou=20
pas.
J'ai conclu que le ? provient d'une diff=E9rence de code page entre les 2=20
machines.=20

Comme, je n'ai pas la main sur le serveur windows et peut sur le linux.

Comment r=E9soudre ce probl=E8me ?

Merci
Thierry=20

3 réponses

Avatar
ah164835
ne pas utiliser d'accent;;
snon il est fort possible qu'un PC interprètera le nom comprenant un acce nt
totalement différent d'un autre ou une divergence serveur utilisateur da ns le
code

André ON4HU
Le Samedi 20 Mai 2006 20:09, Thierry Leurent a écrit :
Bonjour,

Je suis confronté à un gros problème.
Sur un linux, je dois monter un partage windows et utiliser un script qui
entre-autre me place dans l'un des répertoires.

Je map le drive sous windows et je remarque que j'ai 3 sous-répertoires:
Données 1
Données 2
Données 3
Je monte le partage windows dans /mnt/distant
Je fais un ls /mnt/distant, je constate que j'ai 3 répertoires
Donn?es 1
Donn?es 2
Donn?es 3

En ligne de commande, je fais un cd /mnt/distant/Donn?es 1 puis un pwd
J'ai /mnt/distant/Donnes 1 ou /mnt/distant/Donn es 1 selon l'émulateur.
Je crée un petit script avec ces lignes à l'intérieur :

Rep1="/mnt/Donn?es 1"
Rep2="/mnt/Donn?es 2"
Rep3="/home/a moi/src"

cd $Rep1
cd "$Rep2"
cd /mnt/Donn?es 03
pwd
cd "$Rep3"
pwd

Les deux premiers cd de donnent une erreur... Le répertoire n'existe pa s ou
n'est pas un répertoire.
Les deux derniers fonctionnent

On dirait que bash interprète diffèrement le ? si il est dans une var iable
ou pas.
J'ai conclu que le ? provient d'une différence de code page entre les 2
machines.

Comme, je n'ai pas la main sur le serveur windows et peut sur le linux.

Comment résoudre ce problème ?

Merci
Thierry



--
WEB server: http://www.on4hu.be/
FTP server: ftp://ftp.on4hu.be/
COMPUTERS ARE LIKE AIR-CONDITIONERS THEY STOP WORKING
PROPERLY AS SOON AS YOU OPEN WINDOWS
Avatar
Thierry Leurent
Ben oui :((((

Mais c'est pas moi qui ai crée ces répertoires et je n'ai aucun moyen
d'enlever les accents...

Donc je dois les gerer

On Saturday 20 May 2006 20:35, ah164835 wrote:
ne pas utiliser d'accent;;
snon il est fort possible qu'un PC interprètera le nom comprenant un ac cent
totalement différent d'un autre ou une divergence serveur utilisateur dans
le code

André ON4HU

Le Samedi 20 Mai 2006 20:09, Thierry Leurent a écrit :
> Bonjour,
>
> Je suis confronté à un gros problème.
> Sur un linux, je dois monter un partage windows et utiliser un script q ui
> entre-autre me place dans l'un des répertoires.
>
> Je map le drive sous windows et je remarque que j'ai 3 sous-répertoir es:
> Données 1
> Données 2
> Données 3
> Je monte le partage windows dans /mnt/distant
> Je fais un ls /mnt/distant, je constate que j'ai 3 répertoires
> Donn?es 1
> Donn?es 2
> Donn?es 3
>
> En ligne de commande, je fais un cd /mnt/distant/Donn?es 1 puis un pwd
> J'ai /mnt/distant/Donnes 1 ou /mnt/distant/Donn es 1 selon l'émulateu r.
> Je crée un petit script avec ces lignes à l'intérieur :
>
> Rep1="/mnt/Donn?es 1"
> Rep2="/mnt/Donn?es 2"
> Rep3="/home/a moi/src"
>
> cd $Rep1
> cd "$Rep2"
> cd /mnt/Donn?es 03
> pwd
> cd "$Rep3"
> pwd
>
> Les deux premiers cd de donnent une erreur... Le répertoire n'existe pas
> ou n'est pas un répertoire.
> Les deux derniers fonctionnent
>
> On dirait que bash interprète diffèrement le ? si il est dans une
> variable ou pas.
> J'ai conclu que le ? provient d'une différence de code page entre les 2
> machines.
>
> Comme, je n'ai pas la main sur le serveur windows et peut sur le linux.
>
> Comment résoudre ce problème ?
>
> Merci
> Thierry


Avatar
Glennie Vignarajah
--nextPart2582466.LNK6fXPqIJ
Content-Type: text/plain;
charset="iso-8859-1"
Content-Transfer-Encoding: quoted-printable
Content-Disposition: inline

Le Saturday 20 May 2006 20:09, Thierry Leurent(Thierry Leurent
) a écrit:
Bonjour,



Bonjour,


Je map le drive sous windows et je remarque que j'ai 3
sous-répertoires: Données 1
Données 2
Données 3
Je monte le partage windows dans /mnt/distant
Je fais un ls /mnt/distant, je constate que j'ai 3 répertoires
Donn?es 1
Donn?es 2
Donn?es 3




Quels sont les options de montages?
Il y a les options 'iocharset' et 'codepage' pour les conversions de
caractères...
Pour les accents sur ma clé usb, j'utilise les
options 'codepage…0,iocharset=iso8859-15'. Je n'ai pas de partage
windows sous la main. Peut-être que ces options fonctionnent...
De plus, assurez-vous que vous avez bien le support 'nls_cp850'
et 'nls_iso8859-1' sont bien actifs dans le noyau !

Rep1="/mnt/Donn?es 1"
Rep2="/mnt/Donn?es 2"
Rep3="/home/a moi/src"



cd $Rep1
cd "$Rep2"
cd /mnt/Donn?es 03
pwd
cd "$Rep3"
pwd



Vous êtes sûr que la valeur de Rep1 et Rep2 ne sont pas modifiés
avant d'arriver à la ligne 'cd "$Rep2"'?
J'ai testé avec un répertoire :

[ ~]> cat tuut
rep="Donn?es 1"
echo $rep
cd "$rep"
pwd
cd ..

[ ~]> bash -x tuut
+ rep='Donn?es 1'
+ echo 'Donn?es' 1
Donn?es 1
+ cd 'Donn?es 1'
+ pwd
/home/glenny/Donn?es 1
+ cd ..
[ ~]>
----------
Ca fonctionne bien avec bash !

Comment résoudre ce problème ?



Si la valeur de '?' correspond à quelque chose qui ne peut pas être
entrée par le clavier, essayez :

Rep1=$(ls -d1 /mnt/Donn*es?1 | egrep "/mnt/Donn.es 1")
cd "$Rep1"

Du coup, vous n'avez pas besoin connaître à quoi correspond le '?'
de 'Donn?es' sur le clavier et egrep assure que le 'cd' se fait bien
dans '/mnt/Donn?es 1' (dans le cas où il y aurait des
répertoires 'Donn?es 1', 'Donn?es_1', 'Donn?esa1'...

En espérant que je me suis pas planté et que cela vous aidera à
avancer...

A+
--
Glennie
"D'abord ils vous ignorent, ensuite ils vous raillent, ensuite ils
vous combattent et, enfin, vous gagnez"

--nextPart2582466.LNK6fXPqIJ
Content-Type: application/pgp-signature

-----BEGIN PGP SIGNATURE-----
Version: GnuPG v1.4.3 (GNU/Linux)

iQEVAwUARHA6btHiioqkksXaAQLl/Af/ZPwLdrsAV/d0gEwcylyX6BeU7U7njzRr
K83N+73CJ3BDcE6sFihMlthlPbpTXP5Rj7lPBUVBFQkV7agkXVpGr5tiu8IjkeBz
RXn0XBG9XLJ/m0Y3fH0aQMZAHjaGqxdeUvLUEaIFOlXA2hkdeKkAWGsI2AjmyhKX
SwU/mirSmDfnFixJiabGMN1dYbZtbO/Qk2cZOtCdzNYg+Wx6Q1BJqG7IH1iuQUZl
qBQxZNlvtb6XraX4PMWgb5xjg2+50UJxTr4MbvxQnOFEQcR/bvpHWbSNke6Xs1oh
VeqTBzvD+yxLuiyNT/I52jFNOFtyRc+aKCZPdjaeIO4/wDWuRBwiBA= =bXF4
-----END PGP SIGNATURE-----

--nextPart2582466.LNK6fXPqIJ--


--
Lisez la FAQ de la liste avant de poser une question :
http://wiki.debian.net/?DebianFrench
Vous pouvez aussi ajouter le mot ``spam'' dans vos champs "From" et
"Reply-To:"

To UNSUBSCRIBE, email to
with a subject of "unsubscribe". Trouble? Contact