# Forcer la casse sensitive

**URL:** <https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236>\
**Category:** Support Debian\
**Created:** [Août 27, 2021, 1:40 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236 "2021-08-27T13:40:42Z")\
**Posts on this page:** 12\
**Page:** 1

<div class="post-metadata">

**Author:** ![LePtitNicolas](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9de053/32.png) [@LePtitNicolas](https://www.debian-fr.org/u/LePtitNicolas)\
**Post date:** [Août 27, 2021, 1:40 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/1 "2021-08-27T13:40:43Z")

</div>

Bonjour,

Je suis sous Linux Jessie et j’aimerais forcer avoir la casse sensitive, car je cherche à vérifier la présence d’un fichier à partir d’un chemin.

Mon bash ne respecte pas la casse et j’aimerais qu’il le fasse…  
Si je fais :  
[-f /toto/file] ou [-f /TOto/FIle], les 2 commandes retournent 0 même si seulement /toto/file existe (alors que j’aimerais 1 dans le 2ème cas)

En cherchant sur le net, j’ai trouvé beaucoup de sujet pour rendre un bash insensitive, en particulier l’option `shopt -s nocaseglob`, mais pas l’inverse :-S

Auriez vous des idées , merci d’avance pour votre aide !

---

<div class="post-metadata">

**Author:** ![Sputnik93](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/s/35a633/32.png) [@Sputnik93](https://www.debian-fr.org/u/Sputnik93)\
**Post date:** [Août 27, 2021, 2:29 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/2 "2021-08-27T14:29:49Z")

</div>

Bonjour,

ça vaut peut-être le coup de vérifier les valeurs des options de ton shell, avec la commande `shopt` sans aucun argument. Je ne connais pas très bien ces options, mais dans mon cas, les options `nocaseglob` et `nocasematch` sont à `off` et j’ai le comportement que tu cherches à avoir (bash 5.0.3)

---

<div class="post-metadata">

**Author:** ![LePtitNicolas](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9de053/32.png) [@LePtitNicolas](https://www.debian-fr.org/u/LePtitNicolas)\
**Post date:** [Août 27, 2021, 3:17 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/3 "2021-08-27T15:17:44Z")

</div>

Merci pour la rapidité de la réponse !

Voici les valeurs :

> ```
> shopt | grep nocase
> nocaseglob off
> nocasematch off
> 
> ```

Mais je n’ai pas le comportement attendu…

Ma version de bash :

> ```
> bash --version
> GNU bash, version 4.3.30(1)-release (arm-unknown-linux-gnueabihf)
> Copyright (C) 2013 Free Software Foundation, Inc.
> License GPLv3+: GNU GPL version 3 or later [<http://gnu.org/licenses/gpl.html>](http://gnu.org/licenses/gpl.html)
> 
> ```

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Août 27, 2021, 3:26 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/4 "2021-08-27T15:26:47Z")

</div>

Ce n’est pas normal, ce genre de test est sensible à la casse par défaut.

Est-ce que tu utilises un système de fichiers différent de celui proposé par défaut pour Debian (ext4) ?

* * *

Un exemple tout simple sur mon système :

```nohighlight
$ test -e /HOME
$ echo $?
1
$ test -e /home
$ echo $?
0

```

---

<div class="post-metadata">

**Author:** ![LePtitNicolas](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9de053/32.png) [@LePtitNicolas](https://www.debian-fr.org/u/LePtitNicolas)\
**Post date:** [Août 27, 2021, 3:31 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/5 "2021-08-27T15:31:11Z")

</div>

Effectivement ca fonctionne bien avec ce test, donc mon problème vient d’ailleurs… ca m’a au moins permis de voir ca !

Merci beaucoup

---

<div class="post-metadata">

**Author:** ![LePtitNicolas](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9de053/32.png) [@LePtitNicolas](https://www.debian-fr.org/u/LePtitNicolas)\
**Post date:** [Août 27, 2021, 3:39 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/6 "2021-08-27T15:39:33Z")

</div>

Est-ce que ca serait lié aux guillemets ?

```nohighlight
 test -f "L'IMpératrice/L'Impératrice - Vanille Fraise.mp3" ; echo $?
 0
 test -f "L'Impératrice/L'Impératrice - Vanille Fraise.mp3" ; echo $?
 0

```

alors que j’ai qu’un répertoire `"L'Impératrice"`

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Août 27, 2021, 4:02 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/7 "2021-08-27T16:02:54Z")

</div>

Avec des guillemets, et le test `-f` :

```nohighlight
$ test -f "/boot/CONFIG-5.10.0-7-amd64"
$ echo $?
1
$ test -f "/boot/config-5.10.0-7-amd64"
$ echo $?
0

```

Pour l’instant je reste sur l’hypothèse du système de fichiers insensible à la casse, mais tu n’as pas répondu sur ce sujet 😉

---

<div class="post-metadata">

**Author:** ![LePtitNicolas](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9de053/32.png) [@LePtitNicolas](https://www.debian-fr.org/u/LePtitNicolas)\
**Post date:** [Août 27, 2021, 6:48 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/8 "2021-08-27T18:48:14Z")

</div>

oups, désolé !

J’avoue que je ne sais pas du tout quel système de fichier j’ai. C’est la distribution «&nbsp;Volumio&nbsp;» [Download |Get Started | Volumio](https://volumio.org/get-started/) que j’ai installé sur un Pi3 (qui est construite ici [GitHub - volumio/Build: Buildscripts for Volumio System](https://github.com/volumio/Build) )

Comment savoir le système de fichier que l’on a ?

---

<div class="post-metadata">

**Author:** ![LePtitNicolas](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9de053/32.png) [@LePtitNicolas](https://www.debian-fr.org/u/LePtitNicolas)\
**Post date:** [Août 27, 2021, 7:14 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/9 "2021-08-27T19:14:26Z")

</div>

Ca semble bien lié au système de fichier car si je teste en copiant le même répertoire sur 2 partitions différentes, je n’ai pas le même résultat !

> volumio@volumio: **/mnt/USB/F4E2-1499** $ test -f «&nbsp;L’I **m** pératrice/L’Impératrice - Vanille Fraise.mp3&nbsp;» ; echo $?  
> **0**  
> volumio@volumio: **/mnt/USB/F4E2-1499** $ test -f «&nbsp;L’I **M** pératrice/L’Impératrice - Vanille Fraise.mp3&nbsp;» ; echo $?  
> **0**

> volumio@volumio: **/tmp** $ test -f «&nbsp;L’I **m** pératrice/L’Impératrice - Vanille Fraise.mp3&nbsp;» ; echo $?  
> **0**  
> volumio@volumio: **/tmp** $ test -f «&nbsp;L’I **M** pératrice/L’Impératrice - Vanille Fraise.mp3&nbsp;» ; echo $?  
> **1**

Sachant que si je ne dis pas d’erreur, ces 2 partitions sont respectivement en **exfat** et **ext4**

> volumio@volumio:/mnt/USB/F4E2-1499$ _ **sudo lsblk -f** _  
> NAME FSTYPE LABEL UUID MOUNTPOINT  
> loop0 squashfs /static  
> sda  
> └─ **sda1 exfat F4E2-1499 /media/F4E2-1499**  
> mmcblk0  
> ├─ **mmcblk0p2 ext4** volumio e0d264c8-4fb1-49cf-86c5-7376a4451b04 /imgpart  
> ├─ **mmcblk0p3 ext4** volumio\_data 04a126e3-2f95-4ef7-8fb9-292132ad822b  
> └─mmcblk0p1 vfat boot BDB5-33A4 /boot

A priori «&nbsp;Exfat is a case insensitive file system&nbsp;»  
Il va donc falloir que je reformate ma clé pour régler le problème…

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Août 30, 2021, 11:36 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/10 "2021-08-30T11:36:15Z")

</div>

> [@LePtitNicolas](#):
>
> A priori « Exfat is a case insensitive file system »  
> Il va donc falloir que je reformate ma clé pour régler le problème…

Pour moi c’est quasi-certain que c’est la source de ton souci.

Pour les clés USB, j’utilise systématiquement ce système de fichiers ouvert : [Universal Disk Format](https://fr.wikipedia.org/wiki/Universal_Disk_Format). Géré par ce paquet sur Debian : [udftools](https://packages.debian.org/bullseye/udftools).

Par contre je n’ai jamais vérifié que ce soit un système sensible à la casse par défaut (je crois que c’est bien le cas), pense donc bien à tester ça.

---

<div class="post-metadata">

**Author:** ![LePtitNicolas](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/l/9de053/32.png) [@LePtitNicolas](https://www.debian-fr.org/u/LePtitNicolas)\
**Post date:** [Septembre 7, 2021, 7:48 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/11 "2021-09-07T07:48:58Z")

</div>

Après avoir reformaté en ext4, le problème n’apparaît plus, merci à tous pour votre aide ! J’avoue ne pas avoir essayé l’UDF (mais au moins, maintenant je sais que ca existe 😉 ) et avoir préféré rester dans les systèmes de fichiers courants…

---

<div class="post-metadata">

**Author:** ![anon96191775](https://www.debian-fr.org/letter_avatar_proxy/v4/letter/a/71c47a/32.png) [@anon96191775](https://www.debian-fr.org/u/anon96191775)\
**Post date:** [Septembre 7, 2021, 12:50 UTC](https://www.debian-fr.org/t/forcer-la-casse-sensitive/85236/12 "2021-09-07T12:50:00Z")

</div>

En fait le format UDF est encore plus courant que l’ext4, vu que c’est celui utilisé par… les CD-ROM 😛

Mais en effet, la plupart du temps on l’utilise sans le savoir.
