Auteur Sujet: Éditer un fichier de config linux sans ligne de commande  (Lu 31285 fois)

0 Membres et 1 Invité sur ce sujet

corrector

  • Invité
Éditer un fichier de config linux sans ligne de commande
« Réponse #48 le: 15 mai 2013 à 14:48:03 »
Ben là tu n'es pas en UTF8, point.

Donc l’environnement ment au shell et aux autres programmes lancés par le shell. Cela ne peut pas fonctionner!

Est-ce que tu peux créer un fichier dans un éditeur graphique avec des accents, et ensuite l'afficher dans le shell?
Et inversement, créer un fichier en shell : echo été > été
et ensuite l'ouvrir via un gestionnaire de fichier graphique?

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
Éditer un fichier de config linux sans ligne de commande
« Réponse #49 le: 15 mai 2013 à 14:52:03 »
Sauf pour l'outil graphique où ça va pas être possible, sur une Slackware, ça donne :
$ echo été > été
$ ls -l
total 4
-rw-r--r-- 1 xx users 4 2013-05-15 14:49 été
$ cat été
été
$ vi été
reading été
(ajout de caractères accentués)
$ cat été
été
àéèçôîï
$

corrector

  • Invité
Éditer un fichier de config linux sans ligne de commande
« Réponse #50 le: 15 mai 2013 à 17:28:41 »
Sauf pour l'outil graphique où ça va pas être possible
Tu utilises un terminal virtuel?

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
Éditer un fichier de config linux sans ligne de commande
« Réponse #51 le: 15 mai 2013 à 17:43:19 »
Oui là en effet c'était une Konsole.
(c'était ça que tu voulais en fait ?)

corrector

  • Invité
Éditer un fichier de config linux sans ligne de commande
« Réponse #52 le: 15 mai 2013 à 18:23:49 »
Oui là en effet c'était une Konsole.
Qu'il faut donc paramétrer en mode UTF8.

(c'était ça que tu voulais en fait ?)
Non, je voulais que tu ouvres le fichier dans autre chose qu'un programme en mode console.

seb

  • Pau Broadband Country (64)
  • Abonné SFR fibre FttH
  • *
  • Messages: 515
  • FTTH 1 Gbps sur Pau (64)
Démonstration que bash gère les octets dont le premier bit est à 1
« Réponse #53 le: 15 mai 2013 à 19:29:27 »
Pourquoi pas faire file $f tout simplement?
Soit, il me semblait que printf était une fonction du shell.  :-[

Mais je ne sais toujours pas ce que tu entends par décoder/encoder en UTF-8, et j'attends toujours que tu développes, parce que je ne vois toujours pas dans quels cas de figure bash serait un shell inadapté.

Comme j'adore tes explications sur le fait que le shell ne voit rien de ce que je lui donne, je te laisse sur ce petit script amusant :
seb@raoul:~$ cat toto
#!/bin/bash

if [ $# -ne 2 ]
then
        echo "Usage: $(basename $0) <chaine> <motif>"
        echo ""
        echo "Affiche la partie de chaîne située après le motif spécifié."
        exit 1
fi

chaine="$1"
motif="$2"

apres=${chaine##${motif}}
if [ -z "$apres" ]
then
        echo "Pas de correspondance."
else
        echo "Correspondance trouvée : \"$apres\""
fi

Qui, à l'exécution, donne ceci :
seb@raoul:~$ ./toto "aßbÑcýdÅeãfŮg" "*Å"
Correspondance trouvée : "eãfŮg"


Il ne voit peut être rien, mais il comprend ce que je lui demande ...

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
Éditer un fichier de config linux sans ligne de commande
« Réponse #54 le: 15 mai 2013 à 20:03:42 »
Exécuté depuis Konsole sous ubuntu 13.04 (fr_FR.UTF-8)
$ sh test_utf.sh "aßbÑcýdÅeãfŮg" "*Å"
Correspondance trouvée : "eãfŮg"

(copier-coller entièrement à la souris sous Linux du navigateur vers Konsole et l'inverse pour le résultat)

Sous Slackware 13.37 (accès via ssh depuis Konsole)
$ sh test_utf.sh "aßbÑcýdÅeãfŮg" "*Å"
Correspondance trouvée : "eãfŮg"

(résultat copié-coller à la souris)

Très rigolo comme jeu en fait.

corrector

  • Invité
Démonstration que bash gère les octets dont le premier bit est à 1
« Réponse #55 le: 15 mai 2013 à 20:07:45 »
Soit, il me semblait que printf était une fonction du shell.  :-[
Ah oui, en effet : The printf command

Mais je ne sais toujours pas ce que tu entends par décoder/encoder en UTF-8, et j'attends toujours que tu développes, parce que je ne vois toujours pas dans quels cas de figure bash serait un shell inadapté.
Je ne dis pas ça, je dis que tes exemples ne démontrent rien du tout.

Comme j'adore tes explications sur le fait que le shell ne voit rien de ce que je lui donne, je te laisse sur ce petit script amusant :
seb@raoul:~$ cat toto
#!/bin/bash

if [ $# -ne 2 ]
then
        echo "Usage: $(basename $0) <chaine> <motif>"
        echo ""
        echo "Affiche la partie de chaîne située après le motif spécifié."
        exit 1
fi

chaine="$1"
motif="$2"

apres=${chaine##${motif}}
if [ -z "$apres" ]
then
        echo "Pas de correspondance."
else
        echo "Correspondance trouvée : \"$apres\""
fi

Qui, à l'exécution, donne ceci :
seb@raoul:~$ ./toto "aßbÑcýdÅeãfŮg" "*Å"
Correspondance trouvée : "eãfŮg"

Toujours pas d'UTF8. ;)

Tu devrais essayer tes propres tests avec une locale ISO-Latin-*.

corrector

  • Invité
Éditer un fichier de config linux sans ligne de commande
« Réponse #56 le: 15 mai 2013 à 20:08:32 »
Exécuté depuis Konsole sous ubuntu 13.04
Avec quel codage de caractères?

BadMax

  • Client Free adsl
  • Expert
  • *
  • Messages: 3 481
  • Malissard (26)
Éditer un fichier de config linux sans ligne de commande
« Réponse #57 le: 15 mai 2013 à 20:10:37 »
UTF8  :)

corrector

  • Invité

Amon-Ra

  • Expert.
  • Abonné Free fibre
  • *
  • Messages: 604
  • FTTH 1 Gbit/s à Asnières-sur-Seine (92)
Éditer un fichier de config linux sans ligne de commande
« Réponse #59 le: 15 mai 2013 à 20:12:49 »
ta console doit être en UTF8 (putty ou autre)
ton fichier doit être en UTF8
et fichiers de config doit être en UTF8 (le .conf quand tu démarre une session en mode console)