Contenu | Rechercher | Menus

Annonce

DVD, clés USB et t-shirts Ubuntu-fr disponibles sur la boutique En Vente Libre

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 02/11/2021, à 02:54

nany

Script totalement inutile donc rigoureusement indispensable.

Bonjour,



Suite à cette demande ;

Qid a écrit :

et pendant que j'y en hors sujet suis j'aimerais réussir à avoir le nom de la version dans mon prompt bash

nany a écrit :
Qid a écrit :

et pendant que j'y en hors sujet suis j'aimerais réussir à avoir le nom de la version dans mon prompt bash

PS1='blabla $(lsb_release -sc) blabla'
Qid a écrit :

merci mais dans un cas comme dans l'autre ça ne répond pas tout à fait à ma demande :
"focal" n'est pas le nom complet de la 20.04 là où "Bionic Beaver" est bien complet pour la 18.04 wink
ouais je chipote peut-être mais bon wink

nany a écrit :

C’est tout ce que je peux faire avec lsb_release. hmm
Après tu peux toujours aller voir sur wikipedia pour retrouver le nom complet.

Il y a certainement un moyen de faire un script qui récupère ce nom complet pour l’afficher dans $PS1.
Mais pour l’instant j’ai la flemme de m’y coller.

la crise de flemme ayant été de courte durée, j’ai fait un petit script pour le fun.
Je le présente dans ce nouveau fil afin d’éviter trop de hors sujet dans le fil de demande d’aide.


Procédure :

sudo apt install -y python3-mechanicalsoup
cat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename
#!/usr/bin/env python3
# coding: utf8
# ident: 4 spaces
# version: 0.1
#
# auteur: nany
#
# license:
# ----------------------------------------------------------------------------
#  "THE BEER-WARE LICENSE" (Revision 42):
#  <nany@forum.ubuntu-fr.org> wrote this file. As long as you retain this
#  notice you can do whatever you want with this stuff. If we meet some day,
#  and you think this stuff is worth it, you can buy me a beer in return. nany
# ----------------------------------------------------------------------------
#
# licence :
# ----------------------------------------------------------------------------
#  "LICENCE BEERWARE" (Révision 42):
#  <nany@forum.ubuntu-fr.org> a créé ce fichier. Tant que vous conservez cet
#  avertissement, vous pouvez faire ce que vous voulez de ce truc. Si on se
#  rencontre un jour et que vous pensez que ce truc vaut le coup, vous pouvez
#  me payer une bière en retour. nany
# ----------------------------------------------------------------------------
#
# ####################################
# # nécessite python3-mechanicalsoup #
# ####################################


from mechanicalsoup import *


WIKI_URL = 'https://fr.wikipedia.org/wiki/Liste_des_versions_d\'Ubuntu'


def main():

    f = open('/etc/lsb-release', 'r')
    CodeName = f.readlines()[2].split('=')[1].strip('\n')
    f.close()
    browser = StatefulBrowser(user_agent='Mozilla/5.0 (compatible)')
    browser.open(WIKI_URL)
    page = browser.get_current_page()
    CompleteCodeNames = page.find(
                        'table' , 'wikitable').findAll('span' , 'nowrap')
    for ccn in CompleteCodeNames:
        CompleteCodeName = str(ccn.find('a').renderContents().decode('utf8'))
        if CodeName in CompleteCodeName.lower():
            print(CompleteCodeName)
    browser.close()


main()
EOF
chmod -c +x ~/.local/bin/search_ubuntu_complete_codename

Éditer ~/.bashrc pour modifier les lignes avec PS1 :

PS1='… $(search_ubuntu_complete_codename) …'

Recharger .bashrc :

. ~/.bashrc

Exemple de prompt :

┏[ lundi 01 novembre 2021 ]
┣ nany@stupidcomputer (Focal Fossa) :
┗▶ ~$

Il y a un inconvénient, le prompt met un temps variable selon la connexion internet à s’afficher.
Chez moi avec la fibre c’est quasiment instantané mais je déconseille pour ceux qui ont une connexion en carton.
De plus, le script ne gère pas les erreurs, par exemple en cas de problème de connexion internet (ça fait partie des améliorations possible si le cœur m’en dit).

/!\ ATTENTION, le script n’est garanti que pour une variante officielle d’Ubuntu ! /!\

Hors ligne

#2 Le 02/11/2021, à 08:06

lynn

Re : Script totalement inutile donc rigoureusement indispensable.

Bonjour,

Il y a également ceci (garanti même sans connexion internet cool)

awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release

«C'est pas parce qu'ils sont nombreux à avoir tort qu'ils ont raison!»

Coluche

Hors ligne

#3 Le 02/11/2021, à 11:50

geole

Re : Script totalement inutile donc rigoureusement indispensable.

Bonjour

Je n'ai pas la fibre ni le câble. Seulement une ligne tétléphonique
Il ne faut que deux  secondes pour obtenir cette réponse

a@a:~$ date;  ~/.local/bin/search_ubuntu_complete_codename; date
mar. 02 nov. 2021 00:06:16 CET
Focal Fossa
mar. 02 nov. 2021 00:06:18 CET

NOTA
La  première ligne

cat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename

peut être remplacée par

mkdir ~/.local/bin
cat << EOF >> ~/.local/bin/search_ubuntu_complete_codename

Dans mon contexte le répertoire n'existait pas et il n'y a eu aucun message d'erreur

NOTA
Je n'ai pas compris l'intérêt de cette commande

. ~/.bashrc

qui a donné comme réponse

a@a:~$ . ~/.bashrc
bash: /home/a/.bashrc: Aucun fichier ou dossier de ce type
a@a:~$ 

En ligne

#4 Le 03/11/2021, à 13:14

nany

Re : Script totalement inutile donc rigoureusement indispensable.

lynn a écrit :

Il y a également ceci (garanti même sans connexion internet cool)

awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release

Tu ne pouvais pas venir le dire plu tôt ! mad
Ça m’aurait évité de pondre ce script totalement inutile (titre bien choisi pour le coup).

Du coup, j’ai exploré le fichier os-release dans différentes distributions pour voir comment l’exploiter dans les fichier *shrc respectifs.
J’ai donc créé des conditions :

if [ -f /etc/os-release ]; then
    . /etc/os-release
fi
FullName=""
if [ -n "$NAME" -a -n "$VERSION" ]; then
    FullName=" $NAME $VERSION -"
elif [ -n "$PRETTY_NAME" ]; then
    FullName=" $PRETTY_NAME -"
elif [ -n "$NAME" ]; then
    FullName=" $NAME -"
fi

Ce bloc est à placer dans le fichier avant le renseignement de la variable PS1.
Dans Ubuntu, je l’ai mis juste après HISTFILESIZE=2000
Il reste alors à mettre la variable FullName quelque par dans la valeur de PS1.

PS1='***$FullName***'

Avec ça, vous devriez avoir un prompt qui affiche le nom complet de la distribution.
 
Voici le récapitulatif des modifications que j’ai apportées dans Ubuntu.

~$ diff /etc/skel/.bashrc ~/.bashrc
21a22,33
> if [ -f /etc/os-release ]; then
>     . /etc/os-release
> fi
> FullName=""
> if [ -n "$NAME" -a -n "$VERSION" ]; then
>     FullName=" $NAME $VERSION -"
> elif [ -n "$PRETTY_NAME" ]; then
>     FullName=" $PRETTY_NAME -"
> elif [ -n "$NAME" ]; then
>     FullName=" $NAME -"
> fi
> 
60c72,75
<     PS1='${debian_chroot:+($debian_chroot)}\[\033[01;32m\]\u@\h\[\033[00m\]:\[\033[01;34m\]\w\[\033[00m\]\$ '
---
>     PS1='\n┏[$FullName \D{%A %d %B %Y} ]\n\
> ┣ ${debian_chroot:+($debian_chroot)}\
> \[\033[01;32m\]\u@stupidcomputer\[\033[00m\] :\n\
> ┗▶ \[\033[01;34m\]\w\[\033[00m\]\$ '
62c77,78
<     PS1='${debian_chroot:+($debian_chroot)}\u@\h:\w\$ '
---
>     PS1='\n┏[$FullName \D{%A %d %B %Y} ]\n\
> ┣ ${debian_chroot:+($debian_chroot)}\u@stupidcomputer :\n┗▶ \w\$ '
69c85,86
<     PS1="\[\e]0;${debian_chroot:+($debian_chroot)}\u@\h: \w\a\]$PS1"
---
>     PS1="\[\e]0;\n┏[$FullName \D{%A %d %B %Y} ]\n\
> ┣ ${debian_chroot:+($debian_chroot)}\u@stupidcomputer :\n┗▶ \w\a\]$PS1"
77c94,95
<     test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" || eval "$(dircolors -b)"
---
>     test -r ~/.dircolors && eval "$(dircolors -b ~/.dircolors)" \
> || eval "$(dircolors -b)"
88c106,107
< #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;32:locus=01:quote=01'
---
> #export GCC_COLORS='error=01;31:warning=01;35:note=01;36:caret=01;\
> #32:locus=01:quote=01'
97c116,118
< 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 alert='notify-send --urgency=low -i "$([ $? = 0 ] && echo terminal \
> || echo error)" "$(history|tail -n1\
> |sed -e '\''s/^\s*[0-9]\+\s*//;s/[;&|]\s*alert$//'\'')"'
117a139,140
> PS2='☛ '
>

Bon, mon prompt est customisé mais on peu voir $FullName dans PS1.
On voit aussi que j’ai également customisé PS2.

Les résultats en images :

Manjaro est particulière, le shell est zsh donc c’est le fichier .zshrc qu’il faut modifier.
De plus, dans ce fichier, il faut remplacer true par false à la deuxième ligne.
Et j’ignore pourquoi mais le rechargement ne marche pas, il faut quitter le terminal et le rouvrir.

Hors ligne

#5 Le 03/11/2021, à 13:14

nany

Re : Script totalement inutile donc rigoureusement indispensable.

geole a écrit :

Je n'ai pas la fibre ni le câble. Seulement une ligne tétléphonique
Il ne faut que deux  secondes pour obtenir cette réponse

a@a:~$ date;  ~/.local/bin/search_ubuntu_complete_codename; date
mar. 02 nov. 2021 00:06:16 CET
Focal Fossa
mar. 02 nov. 2021 00:06:18 CET

Pour évaluer  le temps d’exécution d’une commande, on peut utiliser time.

┏[ Ubuntu 20.04.3 LTS (Focal Fossa) - mercredi 03 novembre 2021 ]
┣ nany@stupidcomputer :
┗▶ ~$ time search_ubuntu_complete_codename
Focal Fossa

real	0m0,925s
user	0m0,381s
sys	0m0,024s

┏[ Ubuntu 20.04.3 LTS (Focal Fossa) - mercredi 03 novembre 2021 ]
┣ nany@stupidcomputer :
┗▶ ~$
geole a écrit :

NOTA
La  première ligne

cat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename

peut être remplacée par

mkdir ~/.local/bin
cat << EOF >> ~/.local/bin/search_ubuntu_complete_codename

Dans mon contexte le répertoire n'existait pas et il n'y a eu aucun message d'erreur

Oui, on peut utiliser la redirection mais je préfère tee pour afficher le résultat dans la sortie standard et voir si tout s’est bien passé.
Il n’y a pas d’erreur car la redirection (et tee ?) crée le fichier s’il n’existe pas (ainsi que l’arborescence).

geole a écrit :

NOTA
Je n'ai pas compris l'intérêt de cette commande

. ~/.bashrc

qui a donné comme réponse

a@a:~$ . ~/.bashrc
bash: /home/a/.bashrc: Aucun fichier ou dossier de ce type
a@a:~$ 

La commande permet de rechargé .bashrc après les modifications dans celui-ci sans quitter le terminal.
Le point équivaut à la commande source.


Mais c’est très étrange que tu n’aies pas ce fichier dans une Ubuntu.
Pour tenter d’y voir plus clair, donne s’il te plaît le retour de :

ls -lad ~/.* | grep -v "^d"

Dernière modification par nany (Le 03/11/2021, à 18:48)

Hors ligne

#6 Le 03/11/2021, à 14:05

Qid

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :

c’est très étrange que tu n’aies pas ce fichier dans une Ubuntu.
Pour tenter d’y voir plus clair, donne s’il te plaît le retour de :

ls -lad ~/.* | grep -v "^d"

Je ne l'ai pas/plus non plus car je préfère carrément passer par le général : bash.bashrc qui est dans etc... En tous cas je vais essayer tout ça...

Enfin j'ai quand-même pas bien compris le pourquoi du besoin des conditions...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#7 Le 03/11/2021, à 16:40

geole

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :

La commande permet de rechargé .bashrc après les modifications dans celui-ci sans quitter le terminal.
Le point équivaut à la commande source.


Mais c’est très étrange que tu n’aies pas ce fichier dans une Ubuntu.
Pour tenter d’y voir plus clair, donne s’il te plaît le retour de :

ls -lad ~/.* | grep -v "^d"

Bonjour
J'ai maintenant créé le répertoire. Mais je peux le supprimer si besoin

a@a:~$ ls -lad ~/.* | grep -v "^d"
-rw-------  1 a    a    12117 nov.   2 16:16 /home/a/.bash_history
-rw-r--r--  1 a    a        0 oct.  29 19:41 /home/a/.sudo_as_admin_successful
a@a:~$ 

En ligne

#8 Le 03/11/2021, à 17:54

Qid

Re : Script totalement inutile donc rigoureusement indispensable.

geole a écrit :

J'ai maintenant créé le répertoire. Mais je peux le supprimer si besoin

mais de quoi tu parles ?
en plus je t'ai donné un élément de réponse : le bashrc n'est utile en soit que si tu veux une configuration différente du général... sinon tu manipule directement le bash.bashrc pour que ça concerne tout le monde pourvu qu'il n'y ait pas un bashrc de présent pour se prioriser


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#9 Le 03/11/2021, à 18:05

geole

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :

Oui, on peut utiliser la redirection mais je préfère tee pour afficher le résultat dans la sortie standard et voir si tout s’est bien passé.
Il n’y a pas d’erreur car la redirection (et tee) crée le fichier s’il n’existe pas (ainsi que l’arborescence).

Voici un nouvel essai dans une autre instance

a@b:~$ 

cat << EOF | tee ~/.local/bin/search_ubuntu_complete_codename
#!/usr/bin/env python3
# coding: utf8
# ident: 4 spaces
# version: 0.1
#
# auteur: nany
#
# license:
# ----------------------------------------------------------------------------
#  "THE BEER-WARE LICENSE" (Revision 42):
#  <nany@forum.ubuntu-fr.org> wrote this file. As long as you retain this
#  notice you can do whatever you want with this stuff. If we meet some day,
#  and you think this stuff is worth it, you can buy me a beer in return. nany
# ----------------------------------------------------------------------------
#
# licence :
# ----------------------------------------------------------------------------
#  "LICENCE BEERWARE" (Révision 42):
#  <nany@forum.ubuntu-fr.org> a créé ce fichier. Tant que vous conservez cet
#  avertissement, vous pouvez faire ce que vous voulez de ce truc. Si on se
#  rencontre un jour et que vous pensez que ce truc vaut le coup, vous pouvez
#  me payer une bière en retour. nany
# ----------------------------------------------------------------------------
#
# ####################################
# # nécessite python3-mechanicalsoup #
# ####################################


from mechanicalsoup import *


WIKI_URL = 'https://fr.wikipedia.org/wiki/Liste_des_versions_d\'Ubuntu'


def main():

    f = open('/etc/lsb-release', 'r')
    CodeName = f.readlines()[2].split('=')[1].strip('\n')
    f.close()
    browser = StatefulBrowser(user_agent='Mozilla/5.0 (compatible)')
    browser.open(WIKI_URL)
EOFn()owser.close()ompleteCodeName)Name.lower():derContents().decode('utf8'))
Lecture des listes de paquets... Fait
Construction de l'arbre des dépendances... Fait
Lecture des informations d'état... Fait      
python3-mechanicalsoup est déjà la version la plus récente (0.10.0-4).
Les paquets suivants ont été installés automatiquement et ne sont plus nécessaires :
  fonts-lyx libestr0 libfastjson4
Veuillez utiliser « sudo apt autoremove » pour les supprimer.
0 mis à jour, 0 nouvellement installés, 0 à enlever et 0 non mis à jour.
tee: /home/a/.local/bin/search_ubuntu_complete_codename: Aucun fichier ou dossier de ce type
#!/usr/bin/env python3
# coding: utf8
# ident: 4 spaces
# version: 0.1
#
# auteur: nany
#
# license:
# ----------------------------------------------------------------------------
#  "THE BEER-WARE LICENSE" (Revision 42):
#  <nany@forum.ubuntu-fr.org> wrote this file. As long as you retain this
#  notice you can do whatever you want with this stuff. If we meet some day,
#  and you think this stuff is worth it, you can buy me a beer in return. nany
# ----------------------------------------------------------------------------
#
# licence :
# ----------------------------------------------------------------------------
#  "LICENCE BEERWARE" (Révision 42):
#  <nany@forum.ubuntu-fr.org> a créé ce fichier. Tant que vous conservez cet
#  avertissement, vous pouvez faire ce que vous voulez de ce truc. Si on se
#  rencontre un jour et que vous pensez que ce truc vaut le coup, vous pouvez
#  me payer une bière en retour. nany
# ----------------------------------------------------------------------------
#
# ####################################
# # nécessite python3-mechanicalsoup #
# ####################################


from mechanicalsoup import *


WIKI_URL = 'https://fr.wikipedia.org/wiki/Liste_des_versions_d\'Ubuntu'


def main():

    f = open('/etc/lsb-release', 'r')
    CodeName = f.readlines()[2].split('=')[1].strip('\n')
    f.close()
    browser = StatefulBrowser(user_agent='Mozilla/5.0 (compatible)')
    browser.open(WIKI_URL)
    page = browser.get_current_page()
    CompleteCodeNames = page.find(
                        'table' , 'wikitable').findAll('span' , 'nowrap')
    for ccn in CompleteCodeNames:
        CompleteCodeName = str(ccn.find('a').renderContents().decode('utf8'))
        if CodeName in CompleteCodeName.lower():
            print(CompleteCodeName)
    browser.close()


main()
a@b:~$ 
a@b:~$ 
a@b:~$ 
a@b:~$ 
a@b:~$ chmod -c +x ~/.local/bin/search_ubuntu_complete_codename
chmod: impossible d'accéder à '/home/a/.local/bin/search_ubuntu_complete_codename': Aucun fichier ou dossier de ce type

a@b:~$ ls ~/.local
share
a@b:~$ 
a@b:~$ awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release
Jammy Jellyfish
a@b:~$ 

a@b:~$ cat <<EOF >>~/.local/bin/search_ubuntu_complete_codename
> ici
> EOF
bash: /home/a/.local/bin/search_ubuntu_complete_codename: Aucun fichier ou dossier de ce type
a@b:~$ 

Dernière modification par geole (Le 03/11/2021, à 18:15)

En ligne

#10 Le 03/11/2021, à 18:25

nany

Re : Script totalement inutile donc rigoureusement indispensable.

Qid a écrit :

Enfin j'ai quand-même pas bien compris le pourquoi du besoin des conditions...

Eh bien parce que les fichiers os-release diffèrent suivant les distributions.
Les conditions que j’ai mises testent la présence de certaines variables.
Il y a aussi un test de l’existence du fichier.



geole a écrit :

J'ai maintenant créé le répertoire.

Quel répertoire ?

Pour ce qui est du .bashrc, s’il n’existe pas, le shell se base alors sur /etc/bash.bashrc mais je trouve ce dernier beaucoup moins complet.
Donc pourquoi se priver du .bashrc dans le répertoire personnel. En plus ça permet de faire des modifications facilement sans toucher aux fichiers du système.

Donne aussi le retour de :

ls -lA /etc/skel

Hors ligne

#11 Le 03/11/2021, à 18:35

geole

Re : Script totalement inutile donc rigoureusement indispensable.

Je parlais du répertoire ~/.local/bin/

@a:~$ ls -lA /etc/skel
total 12
-rw-r--r-- 1 root root  220 févr. 25  2020 .bash_logout
-rw-r--r-- 1 root root 3771 févr. 25  2020 .bashrc
-rw-r--r-- 1 root root  807 févr. 25  2020 .profile
a@a:~$ 

En ligne

#12 Le 03/11/2021, à 18:36

nany

Re : Script totalement inutile donc rigoureusement indispensable.

geole a écrit :
bash: /home/a/.local/bin/search_ubuntu_complete_codename: Aucun fichier ou dossier de ce type

Ah ben ton message disant que tu n’avais pas d’erreur m’a embrouillé.
Alors, oui, il faut commencer par créer le répertoire bin.

Enfin, bref, de toute façon le script ne sert plus à rien.

Hors ligne

#13 Le 03/11/2021, à 18:43

geole

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :

Alors, oui, il faut commencer par créer le répertoire bin.

Comme quoi la commande tee ne le fabrique pas et ne signale pas d'erreur ce qui n'est pas le cas de la commande >>

En ligne

#14 Le 03/11/2021, à 18:49

geole

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :

Enfin, bref, de toute façon le script ne sert plus à rien.

Il a permis la création de cette commande

echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE"
Ubuntu 20.04.3 LTS Focal Fossa (migrée depuis Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)) avec ubuntu:GNOME sur x11

Dernière modification par geole (Le 03/11/2021, à 18:49)

En ligne

#15 Le 03/11/2021, à 18:49

Qid

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :
Qid a écrit :

Enfin j'ai quand-même pas bien compris le pourquoi du besoin des conditions...

Eh bien parce que les fichiers os-release diffèrent suivant les distributions.
Les conditions que j’ai mises testent la présence de certaines variables.
Il y a aussi un test de l’existence du fichier.

ah ok... effectivement prompt testé et approuvé sur ubuntu et sur debian
là où par contre la commande bash équivalente proposée par lynn au post 2 ne marche pas sur débian

edit :

geole a écrit :

création de cette commande

echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE"
Ubuntu 20.04.3 LTS Focal Fossa (migrée depuis Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)) avec ubuntu:GNOME sur x11

commande qui ne marchera pas suivant le système vu le début de mon post wink

Dernière modification par Qid (Le 03/11/2021, à 18:51)


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#16 Le 03/11/2021, à 19:03

nany

Re : Script totalement inutile donc rigoureusement indispensable.

geole a écrit :

Je parlais du répertoire ~/.local/bin/

Oui, j’ai compris après ta réponse à Qid.

geole a écrit :
@a:~$ ls -lA /etc/skel
total 12
-rw-r--r-- 1 root root  220 févr. 25  2020 .bash_logout
-rw-r--r-- 1 root root 3771 févr. 25  2020 .bashrc
-rw-r--r-- 1 root root  807 févr. 25  2020 .profile
a@a:~$ 

Alors si tu veux un « meilleur » comportement du shell, recopie ces fichiers dans ton répertoire personnel :

cp -nvt ~ /etc/skel/.{ba,pr}*

Hors ligne

#17 Le 03/11/2021, à 19:07

Qid

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :

Alors si tu veux un « meilleur » comportement du shell, recopie ces fichiers dans ton répertoire personnel :

cp -nvt ~ /etc/skel/.{ba,pr}*

ou comme je l'ai déjà dit : "joue directement avec le /etc/bash.bashrc"


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#18 Le 03/11/2021, à 19:16

Qid

Re : Script totalement inutile donc rigoureusement indispensable.

Qid a écrit :
geole a écrit :

création de cette commande

echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE"
Ubuntu 20.04.3 LTS Focal Fossa (migrée depuis Ubuntu 20.04.2.0 LTS "Focal Fossa" - Release amd64 (20210209.1)) avec ubuntu:GNOME sur x11

commande qui ne marchera pas suivant le système vu le début de mon post wink

ah mais si en fait elle a marché sur debian... enfin en partie :

echo "$(lsb_release -sd) $(awk -F"[()]" '/VERSION=/{print $2}' /etc/os-release) (migrée depuis $(cat /var/log/installer/media-info)) avec $XDG_CURRENT_DESKTOP sur $XDG_SESSION_TYPE"
cat: /var/log/installer/media-info: Aucun fichier ou dossier de ce type
Debian GNU/Linux 11 (bullseye) bullseye (migrée depuis ) avec  sur 

un souci d'identification de variable en est certainement la cause : les variables d’environnement ne sont pas les mêmes suivant le système...


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#19 Le 03/11/2021, à 19:23

nany

Re : Script totalement inutile donc rigoureusement indispensable.

Qid a écrit :

ou comme je l'ai déjà dit : "joue directement avec le /etc/bash.bashrc"

nany a écrit :

Pour ce qui est du .bashrc, s’il n’existe pas, le shell se base alors sur /etc/bash.bashrc mais je trouve ce dernier beaucoup moins complet.
Donc pourquoi se priver du .bashrc dans le répertoire personnel. En plus ça permet de faire des modifications facilement sans toucher aux fichiers du système.

tongue

Hors ligne

#20 Le 03/11/2021, à 19:30

Qid

Re : Script totalement inutile donc rigoureusement indispensable.

nany a écrit :
Qid a écrit :

ou comme je l'ai déjà dit : "joue directement avec le /etc/bash.bashrc"

nany a écrit :

Pour ce qui est du .bashrc, s’il n’existe pas, le shell se base alors sur /etc/bash.bashrc mais je trouve ce dernier beaucoup moins complet.
Donc pourquoi se priver du .bashrc dans le répertoire personnel. En plus ça permet de faire des modifications facilement sans toucher aux fichiers du système.

tongue

j'avoue ne pas m'être amusé à comparer les 2 fichiers originaux mais si tu ne joue pas avec le général ton terminal root ne suivra pas ton bashrc

Dernière modification par Qid (Le 03/11/2021, à 19:31)


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne

#21 Le 03/11/2021, à 19:37

nany

Re : Script totalement inutile donc rigoureusement indispensable.

Ranafout’, je ne me connecte pas en root mais j’utilise sudo. cool

Hors ligne

#22 Le 03/11/2021, à 20:10

Tawal

Re : Script totalement inutile donc rigoureusement indispensable.

Hello,

Qid a écrit :

mais si tu ne joue pas avec le général ton terminal root ne suivra pas ton bashrc

Tu peux aussi placer un .bashrc dans /root.
Ainsi, tu peux avoir 2 comportements différents selon que tu es utilisateur ou root.
C'est mon cas wink


Le savoir n'a d’intérêt que si on le transmet.
Useless Use of Cat Award
Filenames and Pathnames in Shell: How to do it Correctly
À chaque problème sa solution, à chaque solution son moyen, si pas de moyen, toujours le problème !

Hors ligne

#23 Le 03/11/2021, à 20:18

Qid

Re : Script totalement inutile donc rigoureusement indispensable.

Tawal a écrit :
Qid a écrit :

mais si tu ne joue pas avec le général ton terminal root ne suivra pas ton bashrc

Tu peux aussi placer un .bashrc dans /root.
Ainsi, tu peux avoir 2 comportements différents selon que tu es utilisateur ou root.
C'est mon cas wink

Certes c'est une solution... wink


"GNU/Linux c'est que du bon mais M$ Windows ce n'est pas si mal"
Référent technique d'un Groupe d'Utilisateur du Libre
plus d'info sur mon profil

Hors ligne