alias ll et md [Réglé]
Ils sont où ?
Système et matériels / Installation et configuration
Troumad Membre non connecté
-
- Voir le profil du membre Troumad
- Inscrit le : 16/10/2010
- Site internet
- Groupes :
J'aimerai savoir où sont défini les alias ll="ls -l"et md='mkdir' , en gros ceux qui sont définis là : https://wiki.mageia.org/en/As_easy_as_a_shell#Available_Shell_Shortcuts . Ce n'est pas la première fois qu'ils marchent sous root, mais plus avec mon utilisateur normal.
Amicalement Votre
Bernard SIAUD Alias Troumad
Bernard SIAUD Alias Troumad
Akien Membre non connecté
-
- Voir le profil du membre Akien
- Inscrit le : 12/06/2011
- Groupes :
-
Équipe Mageia
Si ça ne marche plus dans ton utilisateur normal, tu dois avoir de la config en conflit dans ~/.bash_profile ou quelque chose du genre.
Troumad Membre non connecté
-
- Voir le profil du membre Troumad
- Inscrit le : 16/10/2010
- Site internet
- Groupes :
Code :
[troumad@localhost][~]$ /etc/profile.d/60alias.sh
bash: /etc/profile.d/60alias.sh: Permission non accordée
[troumad@localhost][~]$ sh /etc/profile.d/60alias.sh
[troumad@localhost][~]$ ll
bash: ll : commande introuvable
[troumad@localhost][~]$ $ ls -l /etc/profile.d/60alias.sh
-rw-r--r-- 1 root root 1852 janv. 27 18:20 /etc/profile.d/60alias.sh
Amicalement Votre
Bernard SIAUD Alias Troumad
Bernard SIAUD Alias Troumad
Adrien.D Membre non connecté
-
- Voir le profil du membre Adrien.D
- Inscrit le : 30/05/2011
- Site internet
- Groupes :
Config : PC Fixe : X470 GAMING PRO- AMD Ryzen 5 2600X - 16Go RAM - Radeon RX 560 (Pilote libre) - Gentoo Linux - GNOME Desktop - Kernel 5.10 LTS
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !

Troumad Membre non connecté
-
- Voir le profil du membre Troumad
- Inscrit le : 16/10/2010
- Site internet
- Groupes :
Mon /etc/bashrc (modifié par mes propres soins) a eu besoin d'une mise à jour.
J'avais
Code :
if [ -z "$loginsh" ]; then # We're not a login shell
for i in /etc/profile.d/*.sh; do
if [ -x $i ]; then
. $i
fi
done
fi
J'ai du mettre la nouvelle version de mageia 5 :
Code :
if [ -z "$loginsh" ]; then # We're not a login shell
if [ -n "${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}" ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
fi
J'avoue ne pas saisir la différence.
Amicalement Votre
Bernard SIAUD Alias Troumad
Bernard SIAUD Alias Troumad
Akien Membre non connecté
-
- Voir le profil du membre Akien
- Inscrit le : 12/06/2011
- Groupes :
-
Équipe Mageia
Code :
for i in /etc/profile.d/*.sh; do
if [ -x $i ]; then
. $i
fi
done
Code :
if [ -n "${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}" ]; then
for i in /etc/profile.d/*.sh; do
if [ -r $i ]; then
. $i
fi
done
unset i
fi
Il y a deux différences :
- Le nouveau script vérifie que tu utilises bash, ksh ou zsh (j'imagine que les scripts de /etc/profile.d/ ne seraient pas compatibles avec d'autres shell). Pour ce faire, il utilise -n qui vérifie si l'argument est non nul. Chez moi il vaut :
Code :
$ echo ${BASH_VERSION}${KSH_VERSION}${ZSH_VERSION}
4.3.33(1)-release
- Ensuite le nouveau script vérifie si les fichiers sont accessibles en lecture (-r). Le script précédent vérifiait qu'ils étaient exécutables (-x), et ce n'est pas le cas par exemple de /etc/profile.d/60alias.sh (je ne sais pas pourquoi, mais en tout cas ça explique pourquoi ça ne marchait plus chez toi).
Edit: Ma bible : http://tldp.org/LDP/Bash-Beginners-Guide/html/sect_07_01.html
Édité par Akien Le 28/02/2015 à 10h46
Adrien.D Membre non connecté
-
- Voir le profil du membre Adrien.D
- Inscrit le : 30/05/2011
- Site internet
- Groupes :
Config : PC Fixe : X470 GAMING PRO- AMD Ryzen 5 2600X - 16Go RAM - Radeon RX 560 (Pilote libre) - Gentoo Linux - GNOME Desktop - Kernel 5.10 LTS
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !
Ancien Webmaster de MageiaLinuxOnline. Les remplaçants assurent !

Répondre
Vous n'êtes pas autorisé à écrire dans cette catégorie