Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/02/2016, à 19:38

zigroful1

Reconnaissance des accents aigus

Je suis sous ubuntu 15.10 et j'ai un répertoire portant le nom "Téléchargements"
Sur un script bash, j'ai écrit une ligne telle que:

cd ~/Tartempion/Téléchargements/
J'ai vérifié le chemin écrit, et il ne contient aucune erreur ni dans sa forme ni dans l'existence des divers répertoires intermédiaires.

Au lancement du script, j'ai un message d'erreur indiquant qu'il ne reconnaît pas le répertoire Téléchargements et, pourtant, tout est strictement bon !

Je crois qu'il ne reconnaît pas les accents aigus du nom du dernier répertoire Téléchargement.

Pourtant j'ai vérifié en lançant la commande 'locale' (réponse: LANGUAGE=fr_FR) et echo LANG (réponse: fr_FR.UTF-8).

Je ne comprends donc pas pourquoi il ne reconnaît pas ce répertoire !
Quelqu'un a-t-il une idée de la cause de ce dysfonctionnement ?
Merci de me répondre

Dernière modification par zigroful1 (Le 25/02/2016, à 20:44)

Hors ligne

#2 Le 25/02/2016, à 22:12

grigouille

Re : Reconnaissance des accents aigus

Ton fichier est-il en UTF-8 ?


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#3 Le 25/02/2016, à 22:46

ares

Re : Reconnaissance des accents aigus

Bonjour,

Question : si tu exécute la commande suivante

ls -d */

Les accents sont affichés dans le "Term" --> Téléchargements/

En regardant la "doc" ICI tu devrais vérifier les « variables d'environnement »

@grigouille
Son prb est sur un commande shell, pas sur un fichier.

@+

Dernière modification par ares (Le 25/02/2016, à 22:50)

Hors ligne

#4 Le 25/02/2016, à 23:06

grigouille

Re : Reconnaissance des accents aigus

zigroful1 a écrit :

Sur un script bash, j'ai écrit une ligne telle que:

cd ~/Tartempion/Téléchargements/

@ares : il a écrit un script, donc c'est dans un fichier que se trouve la commande.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#5 Le 25/02/2016, à 23:38

zigroful1

Re : Reconnaissance des accents aigus

A Grigouille et à ares
En effet, j'ai écrit mon script dans un fichier bash avec extension .sh et quand je fais ls -d */ j'obtiens:

Introduction à Scilab Graphiques, fonctions Scilab, programmation, saisie de données_fichiers/

Vous constaterez que le mot données contient bien un accent aigu

Quant au fichier .bhrc, il contient ceci:

# ~/.bashrc: executed by bash(1) for non-login shells.
# see /usr/share/doc/bash/examples/startup-files (in the package bash-doc)
# for examples

# If not running interactively, don't do anything
case $- in
    *i*) ;;
      *) return;;
esac

# don't put duplicate lines or lines starting with space in the history.
# See bash(1) for more options
HISTCONTROL=ignoreboth

# append to the history file, don't overwrite it
shopt -s histappend

# for setting history length see HISTSIZE and HISTFILESIZE in bash(1)
HISTSIZE=1000
HISTFILESIZE=2000

# check the window size after each command and, if necessary,
# update the values of LINES and COLUMNS.
shopt -s checkwinsize

# If set, the pattern "**" used in a pathname expansion context will
# match all files and zero or more directories and subdirectories.
#shopt -s globstar

# make less more friendly for non-text input files, see lesspipe(1)
[ -x /usr/bin/lesspipe ] && eval "$(SHELL=/bin/sh lesspipe)"

# set variable identifying the chroot you work in (used in the prompt below)
if [ -z "${debian_chroot:-}" ] && [ -r /etc/debian_chroot ]; then
    debian_chroot=$(cat /etc/debian_chroot)
fi

# set a fancy prompt (non-color, unless we know we "want" color)
case "$TERM" in
    xterm-color) color_prompt=yes;;
esac

# uncomment for a colored prompt, if the terminal has the capability; turned
# off by default to not distract the user: the focus in a terminal window
# should be on the output of commands, not on the prompt
#force_color_prompt=yes

if [ -n "$force_color_prompt" ]; then
    if [ -x /usr/bin/tput ] && tput setaf 1 >&/dev/null; then
	# We have color support; assume it's compliant with Ecma-48
	# (ISO/IEC-6429). (Lack of such support is extremely rare, and such
	# a case would tend to support setf rather than setaf.)
	color_prompt=yes
    else
	color_prompt=
    fi
fi

if [ "$color_prompt" = yes ]; then
    PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
else
    PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
fi
unset color_prompt force_color_prompt

# If this is an xterm set the title to user@host:dir
case "$TERM" in
xterm*|rxvt*)
    PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
    ;;
*)
    ;;
esac

# enable color support of ls and also add handy aliases
if [ -x /usr/bin/dircolors ]; then
    test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
    alias ls='ls --color=auto'
    #alias dir='dir --color=auto'
    #alias vdir='vdir --color=auto'

    alias grep='grep --color=auto'
    alias fgrep='fgrep --color=auto'
    alias egrep='egrep --color=auto'
fi

# colored GCC warnings and errors
#export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'

# some more ls aliases
alias ll='ls -alF'
alias la='ls -A'
alias l='ls -CF'

# Add an "alert" alias for long running commands.  Use like so:
#   sleep 10; alert
alias alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal || echo error)" "$(history|tail -n1|sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'

# Alias definitions.
# You may want to put all your additions into a separate file like
# ~/.bash_aliases, instead of adding them here directly.
# See /usr/share/doc/bash-doc/examples in the bash-doc package.

if [ -f ~/.bash_aliases ]; then
    . ~/.bash_aliases
fi

# enable programmable completion features (you don't need to enable
# this, if it's already enabled in /etc/bash.bashrc and /etc/profile
# sources /etc/bash.bashrc).
if ! shopt -oq posix; then
  if [ -f /usr/share/bash-completion/bash_completion ]; then
    . /usr/share/bash-completion/bash_completion
  elif [ -f /etc/bash_completion ]; then
    . /etc/bash_completion
  fi
fi

Modération : merci à l'avenir d'utiliser les balises code (explications ici).

Dernière modification par cqfd93 (Le 25/02/2016, à 23:45)

Hors ligne

#6 Le 26/02/2016, à 00:21

Arbiel

Re : Reconnaissance des accents aigus

Bonsoir

zigroful1 a écrit :

Au lancement du script, j'ai un message d'erreur indiquant qu'il ne reconnaît pas le répertoire Téléchargements et, pourtant, tout est strictement bon !

Peux-tu être plus précis, et afficher ta commande et le message d'erreur ?

Arbiel


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#7 Le 26/02/2016, à 08:33

MicP

Re : Reconnaissance des accents aigus

Bonjour zigroful1 grigouille ares

@ zigroful1 Transmets nous aussi
- le contenu du script
- l'endroit dans le système de fichiers où est situé ce script
- la ligne de commandes (avec le prompt) que tu utilise pour lancer l'exécution de ce script
- l'intégralité du ou des messages d'erreur qui sont retournés (avec le prompt de retour) par l'exécution de ce script

Merci

Dernière modification par MicP (Le 26/02/2016, à 08:35)

Hors ligne

#8 Le 26/02/2016, à 15:46

ares

Re : Reconnaissance des accents aigus

[hs]

grigouille a écrit :
zigroful1 a écrit :

Sur un script bash, j'ai écrit une ligne telle que:

cd ~/Tartempion/Téléchargements/

@ares : il a écrit un script, donc c'est dans un fichier que se trouve la commande.

[/hs] Exacte grigouille.... désolé !

Hors ligne

#9 Le 26/02/2016, à 15:58

grigouille

Re : Reconnaissance des accents aigus

Pas de problème ares.

Essaie

grep Téléchargement ton_fichier

Dernière modification par grigouille (Le 26/02/2016, à 16:09)


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#10 Le 26/02/2016, à 20:52

zigroful1

Re : Reconnaissance des accents aigus

A Arbiel:
Ma commande est :
./Tlchg_Ptfe.sh
lancée dans une console Ubuntu 15.10 sous bash (le fichier étant accessible chmod +777)
Le message d'erruer est:
./Tlchg_Ptfe.sh
./Tlchg_Ptfe.sh: ligne 3 : cd: /home/thomas/Tlchargements/: Aucun fichier ou dossier de ce type
Le fichier portefeuille.csv n a pas ete telecharge

A MicP. Le contenu du script est:

#!/bin/bash

cd /home/Tartempion/Téléchargements/
chaine='ptfe_pea_ABCBourse_'"`date +%d%m%y`"'.csv'
if [ -f 'portefeuille.csv' ];then
    echo -e "Le fichier portefeuille.scv a ete telecharge dans le repertoire Téléchargements"
    mv portefeuille.csv $chaine
    mv $chaine ~/Documents/BOURSE/PTFE_PEA_ABCBourse/
else
    echo -e "Le fichier portefeuille.csv n a pas ete telecharge"
fi


NB J'ai oté les accents aigus des messages echo
Ce fichier est situé dans le répertoire ~/Documents/BOURSE/PTFE_PEABourse/
A l'exécution, le début du script est censé me placer dans le répertoire /home/Tartempion/Téléchargements, et c'est là que ça foire !
Car, dans le message d'erreur, les é de Téléchargements sont remplacés par des points d'interrogation dans des losanges à fond noir!
Pourtant, quand je tape sur ma ligne de commande : cd /home/Tartempion/Téléchargements/ , il me mène bien au répertoire Téléchargements
sans rechigner !
J'ai besoin d'accéder au répertoire Téléchargements car c'est dans ce répertoire que se trouve portefeuille.csv

La ligne de commande est, comme je l'ai dit ci-dessus: ./Tlchg_Ptfe.sh en étant positionné dans ~/Documents/BOURSE/PTFE_PEA_ABCBourse/
Le message d'erreur intégral est recopié ci-dessus !

A Grigouille : Grep Téléchargements Tlchg_Ptfe.sh ne donne rien
Je crois avoir été complet, non ?

NB Je vois qu'à l'affichage sur la page du  forum, le message d'erreur retourné par l'ordi n'est pas retranscrite fidèlement: les points d'interrogation dans les losanges à fond noir remplaçant les lettres é du mot Téléchargements ont disparus à la recopie, quand je valide !

Dernière modification par zigroful1 (Le 26/02/2016, à 21:01)

Hors ligne

#11 Le 26/02/2016, à 20:58

grigouille

Re : Reconnaissance des accents aigus

Par pitié, utilise la balise code pour mettre en forme les réponses des commandes !

zigroful1 a écrit :

A Grigouille : Grep Téléchargements Tlchg_Ptfe.sh ne donne rien

ce qui prouve que "Téléchargements" n'est pas dans ton fichier.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#12 Le 26/02/2016, à 21:01

Arbiel

Re : Reconnaissance des accents aigus

Et que donne

cd "/home/Tartempion/Téléchargements/"

en ligne 3 de ton script ?

ce qui prouve que "Téléchargements" n'est pas dans ton fichier.

effectivement les "é" ont été supprimés, car bash ne connaît pas les lettres accentuées (?), c'est la raison pour laquelle je propose de passer entre ".

Dernière modification par Arbiel (Le 26/02/2016, à 21:04)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#13 Le 26/02/2016, à 21:35

zigroful1

Re : Reconnaissance des accents aigus

J'ai mis en ligne 3 de mon script, le mot Téléchargements entre guillemets : La réponse est tjs la même
J'ai mis tout le chemin du répertoire entre guillemets (cd "/home/Tartempion/Téléchargements/" ): rien à faire
C'est à n'y rien comprendre !
Et je suis à bout de ressource, mais prêt à essayer toute solution que vous me proposerez et dont je vous remercie d'avance

Hors ligne

#14 Le 26/02/2016, à 21:39

pingouinux

Re : Reconnaissance des accents aigus

Bonsoir,
Quel est le retour de

file ton_fichier.sh

Hors ligne

#15 Le 26/02/2016, à 22:21

grigouille

Re : Reconnaissance des accents aigus

Que dit

cat Tlchg_Ptfe.sh

Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#16 Le 26/02/2016, à 22:24

grigouille

Re : Reconnaissance des accents aigus

zigroful1 a écrit :

J'ai mis en ligne 3 de mon script, le mot Téléchargements entre guillemets : La réponse est tjs la même
J'ai mis tout le chemin du répertoire entre guillemets (cd "/home/Tartempion/Téléchargements/" ): rien à faire
C'est à n'y rien comprendre !
Et je suis à bout de ressource, mais prêt à essayer toute solution que vous me proposerez et dont je vous remercie d'avance

La commande

grep Téléchargements Tlchg_Ptfe.sh

t'as dit que tu n'as pas écrit 'Téléchargements' dans ton fichier. Forcément, la commande cd plante.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#17 Le 26/02/2016, à 23:57

zigroful1

Re : Reconnaissance des accents aigus

A Pingouinux:

Le retour de la commande file Tlchg_Ptfe.sh est:

Tlchg_Ptfe.sh: Bourne-Again shell script, ISO-8859 text executable

Apparemment on est en ISO-8859 alors que lorsque je lance la commande locale (la console répond FR_fr) et lorsque je lance echo LANG (la console répond FR_fr.UTF-8) (voir ma toute première intervention sur le forum, hier). Normalement, la console devrait déchiffrer les accents aigus quand elle lira la 3 ème ligne du script où il est question du nom de mon répertoire "Téléchargements" ! Non ?

A Grigouille:
Le retour de la commande cat Tlchg_Ptfe.sh est:

#!/bin/bash

cd /home/Tartempion/"Tlchargements"/
chaine='ptfe_pea_ABCBourse_'"`date +%d%m%y`"'.csv'
if [ -f 'portefeuille.csv' ];then
	echo -e "Le fichier portefeuille.csv a ete telecharge dans le repertoire Tlchargements"
	mv portefeuille.csv $chaine
	mv $chaine ~/Documents/BOURSE/PTFE_PEA_ABCBourse/
else
	echo -e "Le fichier portefeuille.csv n a pas ete telecharge"
fi

Vous constaterez qu'en ligne 3 du code, j'ai bien mis Téléchargement entre guillemets

Par ailleurs: grep Téléchargements Tlchg_Ptfe.sh ne sort rien du tout, et renvoie au prompt de la ligne de commande.

Hors ligne

#18 Le 27/02/2016, à 00:02

Arbiel

Re : Reconnaissance des accents aigus

Il te reste la solution de créer un lien symbolique

ln -sT /home/thomas/Téléchargements/ /home/thomas/Downloads

et de modifier ton script en conséquence.

Ce n'est pas la réponse que tu cherches, mais c'est mieux que rien.

Arbiel

P.S je n'avais pas vu ton message ci-dessus. En ligne 3, il n'y a aucun "é"

cd /home/Tartempion/"Tlchargements"/

Dernière modification par Arbiel (Le 27/02/2016, à 00:05)


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#19 Le 27/02/2016, à 00:04

grigouille

Re : Reconnaissance des accents aigus

zigroful1 a écrit :

Le retour de la commande cat Tlchg_Ptfe.sh est:

#!/bin/bash

cd /home/Tartempion/"Tlchargements"/

C'est bien ce que dit le grep : tu n'as pas écrit Téléchargements (en UTF-8).


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne

#20 Le 27/02/2016, à 00:07

zigroful1

Re : Reconnaissance des accents aigus

Voilà ce que donne la commande locale sur ma console :

LANG=fr_FR.UTF-8
LANGUAGE=fr_FR
LC_CTYPE="fr_FR.UTF-8"
LC_NUMERIC="fr_FR.UTF-8"
LC_TIME="fr_FR.UTF-8"
LC_COLLATE="fr_FR.UTF-8"
LC_MONETARY="fr_FR.UTF-8"
LC_MESSAGES="fr_FR.UTF-8"
LC_PAPER="fr_FR.UTF-8"
LC_NAME="fr_FR.UTF-8"
LC_ADDRESS="fr_FR.UTF-8"
LC_TELEPHONE="fr_FR.UTF-8"
LC_MEASUREMENT="fr_FR.UTF-8"
LC_IDENTIFICATION="fr_FR.UTF-8"
LC_ALL=

Pourquoi donc, dans l'exécution du script, cette même console n'est pas capable de reconnaître les accents ?
UTF-8 c'est bien le code universel qui devrait permettre de reconnaître tous les caractères accentués, non ?

Hors ligne

#21 Le 27/02/2016, à 00:10

Arbiel

Re : Reconnaissance des accents aigus

Es-tu certain de ne pas confondre tes fichiers ? Le message d'erreur

./Tlchg_Ptfe.sh: ligne 3 : cd: /home/thomas/Tlchargements/: Aucun fichier ou dossier de ce type

C'est thomas ou Tartempion ?


Arbiel Perlacremaz
LDLC Aurore NK3S-8-S4 Ubuntu 20.04
Abandon d'azerty au profit de bépo, de google au profit de Lilo et de la messagerie électronique violable au profit de Protonmail, une messagerie chiffrée de poste de travail à poste de travail.

Hors ligne

#22 Le 27/02/2016, à 00:36

zigroful1

Re : Reconnaissance des accents aigus

Non. Je voulais rester anonyme et j'ai remplacé thomas (qui est mon nom) par tartempion.
Mais j'ai bien vérifié, il ne s'agit pas d'erreur de fichier ou de répertoire (thomas ou tartempion ne change rien à l'affaire !)
Quand Grigouille écrit "Tu n'as pas écrit Téléchargements en UTF-8", comment je peux le savoir, puisque les accents aigus apparaissent sur mon écran normalement et que la console, elle-même, reconnaît le UTF-8 comme l'indique la commande locale (voir ci-dessus)?

Hors ligne

#23 Le 27/02/2016, à 01:25

MicP

Re : Reconnaissance des accents aigus

Bonsoir

Sûr que s'il y avait simplement le prompt de départ et de fin des commandes, ça aiderait bien pour savoir
- depuis quel compte les commandes sont entrées
- depuis quel répertoire les commandes sont entrées
- comment sera interprété le tilde des chemins qui utilisent le tilde
- le chemin du fichier Tlchg_Ptfe.sh
- depuis quel répertoire il est lancé

========
Pour essayer de savoir où se trouvent ces répertoires,
pourrais-tu nous donner le retour de la ligne de commandes suivante, avec le prompt de départ et de retour :

sudo updatedb && locate /*chargements /*portefeuille.csv /*PTFE_PEA_ABCBourse

Merci.



=======
Quelques exemples de prompt sur ma machine :

michel@debg53sw:~$ 
michel@debg53sw:~/mesScripts/confSynaptics$ 
root@debg53sw:~# 
root@debg53sw:/# 
root@debg53sw:/home/michel/mesScripts/confSynaptics#

=======
Une ligne de commandes avec le prompt de départ et le prompt de retour, et le message d'erreur retourné :

michel@debg53sw:~$ cd mesScripts/confSynaptic
bash: cd: mesScripts/confSynaptic: Aucun fichier ou dossier de ce type
michel@debg53sw:~$ 

Une autre ligne de commandes, avec le prompt de départ et le prompt de retour :

root@debg53sw:~# cd /home/michel/mesScripts/confSynaptics/; ls -l
total 12
-rw-r--r-- 1 michel michel 1322 sept.  1  2013 confSynEee1005pe.sh
-rw-r--r-- 1 michel michel 1374 sept.  1  2013 confSynEee900.sh
-rw-r--r-- 1 michel michel   95 sept.  1  2013 recConPad.sh
root@debg53sw:/home/michel/mesScripts/confSynaptics# 

=======
Tous ces retours de commandes sont sur fond noir et utilisent une police de caractère à chasse fixe.

C'est long à expliquer, mais c'est très simple à faire : Il suffit de sélectionner avec la souris ou le clavier le groupe de lignes que tu veux voir apparaître sous cette forme,
et de cliquer sur l'icône bt_pre.png que tu trouvera en dessous de Message (obligatoire) en haut de la fenêtre d'édition des messages.
Les lignes que tu avais sélectionné seront "entourées" par des balises de type code, comme les trois lignes ci-dessous :

[code]Le texte qui va apparaître sur fond noir
Cette ligne aussi
Et la dernière[/code]

Ensuite, si tu clique sur le bouton Prévisualisation tu verra apparaître ton message comme il apparaîtra sur le forum,
et pour ces trois lignes ça donnera ce qui suit :

Le texte qui va apparaître sur fond noir
Cette ligne aussi
Et la dernière

Dernière modification par MicP (Le 27/02/2016, à 01:34)

Hors ligne

#24 Le 27/02/2016, à 07:13

pingouinux

Re : Reconnaissance des accents aigus

Tu peux convertir ton fichier en utf-8 :

iconv -f iso8859-1 -t utf-8 Tlchg_Ptfe.sh >fichier_utf8.sh

Hors ligne

#25 Le 27/02/2016, à 10:22

grigouille

Re : Reconnaissance des accents aigus

zigroful1 a écrit :

Quand Grigouille écrit "Tu n'as pas écrit Téléchargements en UTF-8", comment je peux le savoir, puisque les accents aigus apparaissent sur mon écran normalement et que la console, elle-même, reconnaît le UTF-8 comme l'indique la commande locale (voir ci-dessus)?

Les accents aigus n'apparaissent pas sur ton écran : la commande cat le prouve bien !
Et si grep n'a pas trouvé 'Téléchargements', c'est qu'il n'y ait pas.

La commande iconv de pingouinux va te sauver. En faisant

cat fichier_utf8.sh

tu verras les accents et grep trouvera 'Téléchargements'.

À l'avenir, sauve tes fichiers en UTF-8.


Debian (xfce) 12
HP LaserJet M1132 MFP

Hors ligne