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 18/12/2021, à 23:28

abecidofugy

[Résolu] \r qui traine dans un fichier .bash_aliases

Salut,

Mon .bash_aliases se présente comme ça :

alias hopla='echo -e "sudo pkcon refresh && sudo pkcon update ; flatpak update ; sudo snap refresh" && sudo pkcon refresh && sudo pkcon update ; flatpak update ; sudo snap refresh'

Pourtant, quand je lance ma commande, j'ai ça comme résultat :

patrice@patrice-xpsl501x:~$ source .bashrc_aliases 
patrice@patrice-xpsl501x:~$ hopla
sudo pkcon refresh && sudo pkcon update ; flatpak update ; sudo snap refresh
Refreshing cache              [=========================]         
Loading cache                 [=========================]         
Downloading packages          [=========================]         
Running                       [=========================]         
Finished                      [=========================]         
 Disabled                             file:/var/lib/preinstalled-pool focal InRelease
 Enabled                              file:/var/lib/preinstalled-pool focal Release
 Enabled                              file:/var/lib/preinstalled-pool focal Release
 Enabled                              http://archive.ubuntu.com/ubuntu focal InRelease
 Enabled                              http://archive.ubuntu.com/ubuntu focal-updates InRelease
 Enabled                              file:/var/lib/preinstalled-pool focal Release.gpg
 Enabled                              http://archive.neon.kde.org/user focal InRelease
 Enabled                              http://archive.ubuntu.com/ubuntu focal InRelease
 Enabled                              http://archive.ubuntu.com/ubuntu focal-updates InRelease
 Enabled                              http://security.ubuntu.com/ubuntu focal-security InRelease
 Enabled                              http://archive.neon.kde.org/user focal InRelease
 Enabled                              http://security.ubuntu.com/ubuntu focal-security InRelease
Getting updates               [=========================]         
Finished                      [=========================]         
No packages require updating to newer versions.
Looking for updates…
Nothing to do.
erreur : unknown command "refresh\r", see 'snap help'.

C'est quoi ce \r qui traine ? Je n'arrive pas à m'en débarrasser. Ça doit être un reliquat de Windows 10...

Merci de votre attention et entraide.

Dernière modification par abecidofugy (Le 18/12/2021, à 23:59)

Hors ligne

#2 Le 18/12/2021, à 23:32

hotnuma

Re : [Résolu] \r qui traine dans un fichier .bash_aliases

dos2unix :

https://linux.die.net/man/1/dos2unix

en faisant simplement :

dos2unix nom_fichier

Quoi que, ça risque de faire un saut de ligne donc il faudra sûrement vérifier ensuite dans un éditeur de texte genre Geany voir si c'est bon.

Dernière modification par hotnuma (Le 18/12/2021, à 23:34)


Xubuntu / GitHub

Hors ligne

#3 Le 18/12/2021, à 23:33

abecidofugy

Re : [Résolu] \r qui traine dans un fichier .bash_aliases

Merci. J'étais justement tombé sur cette page.

Bonne soirée wink

Hors ligne

#4 Le 18/12/2021, à 23:57

MicP

Re : [Résolu] \r qui traine dans un fichier .bash_aliases

Bonjour

Pour voir en hexadécimal chacun des caractères utilisés dans cet alias,
donne le retour de la ligne de commandes suivante :

alias hopla | hd

ça devrait donner :

patrice@patrice-xpsl501x:~$ alias hopla | hd
00000000  61 6c 69 61 73 20 68 6f  70 6c 61 3d 27 65 63 68  |alias hopla='ech|
00000010  6f 20 2d 65 20 22 73 75  64 6f 20 70 6b 63 6f 6e  |o -e "sudo pkcon|
00000020  20 72 65 66 72 65 73 68  20 26 26 20 73 75 64 6f  | refresh && sudo|
00000030  20 70 6b 63 6f 6e 20 75  70 64 61 74 65 20 3b 20  | pkcon update ; |
00000040  66 6c 61 74 70 61 6b 20  75 70 64 61 74 65 20 3b  |flatpak update ;|
00000050  20 73 75 64 6f 20 73 6e  61 70 20 72 65 66 72 65  | sudo snap refre|
00000060  73 68 22 20 26 26 20 73  75 64 6f 20 70 6b 63 6f  |sh" && sudo pkco|
00000070  6e 20 72 65 66 72 65 73  68 20 26 26 20 73 75 64  |n refresh && sud|
00000080  6f 20 70 6b 63 6f 6e 20  75 70 64 61 74 65 20 3b  |o pkcon update ;|
00000090  20 66 6c 61 74 70 61 6b  20 75 70 64 61 74 65 20  | flatpak update |
000000a0  3b 20 73 75 64 6f 20 73  6e 61 70 20 72 65 66 72  |; sudo snap refr|
000000b0  65 73 68 27 0a                                    |esh'.|
000000b5
patrice@patrice-xpsl501x:~$ 

Sinon, tu auras peut-être le caractère \r (<=> 0d en hexadécimal)
qui sera avant le caractère \n (<=> 0a en hexadécimal)

Tu pourras faire de même avec le fichier dans lequel est défini cet alias
histoire de vérifier si c'est seulement la ligne de définition de cet alias
ou bien chaque ligne du fichier dans lequel ils sont définis.

=======
Logiquement, c'est dans le fichier nommé ~/.bash_aliases
que devraient être les définitions des aliases définis par l'utilisateur :

Extrait du fichier ~/.bashrc a écrit :
# 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

C'est sûr que ce n'est pas une bonne idée d'utiliser un éditeur de texte windows pour créer ou modifier un fichier de type Unix,
et ce n'est pas non plus une très bonne idée de récupérer un de ces fichiers depuis un système windows,
car le ou les fichiers récupérés depuis un système de fichiers utilisé par windows auront certainement perdu leurs attributs et propriétés.

Dernière modification par MicP (Le 19/12/2021, à 00:03)

Hors ligne

#5 Le 19/12/2021, à 00:01

abecidofugy

Re : [Résolu] \r qui traine dans un fichier .bash_aliases

Oui c’est bien dans mon .bash_aliases qu’il se trouve.

Intéressant la commande pour voir en hex. Je note.

Hors ligne

#6 Le 19/12/2021, à 00:29

MicP

Re : [Résolu] \r qui traine dans un fichier .bash_aliases

Sur les systèmes Dos et Windows, les caractères d'une fin de ligne sont, en hexadécimal : 0d0a (<=> \r\n)
Sur les systèmes unixes, c'est seulement le caractère 0a (<=> \n)

La commande dos2unix proposée par hotnuma dans son message #2 fera très bien le remplacement nécessaire,

… ou alors, si dos2unix n'est pas installé et que tu ne veux pas installer un paquetage supplémentaire,
tu peux aussi faire ça avec la commande sed :

sed -i 's/\r$//' ~/.bash_aliases

=======
Du coup, tu pourrais ajouter un alias nommé dos2unix dans ton fichier ~/.bash_aliases :

alias dos2unix='sed -i "s/\r$//" '

Dernière modification par MicP (Le 19/12/2021, à 01:27)

Hors ligne