IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Shell et commandes GNU Discussion :

Mon mémo bash !


Sujet :

Shell et commandes GNU

  1. #1
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut Mon mémo bash !
    Bonjour,
    Je débute en unix / bash, et il y a vraiment trop de commandes à mémoriser.

    Du coup dans mon ~/.bashrc je me suis fait un alias vers un petit fichier "~/.mémo" :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    alias memo='cat -n ~/.memo'
    Du coup dans mon terminal je tape $"memo" et les commandes que j'oublie tout le temps m'apparaissent

    Mon fichier memo est très moche vu que j'utilise cat ... c'est illisible!

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
         1  mpirun -np 10 TOTO.x > Resultats.txt 2>&1 &
         2  ssh -X USER@server
         3  tool OUTFILE -rc nom_du_script
         4  convert -density 100 -geometry 100% fichier.ps fichier.png
         5  make modules && make -j 8 | make -j 8 modules && make -j 8
         6  $WORK $SVN $DBG $SOFT 
         7  [Ctrl]+R  --> (reverse-i-search)`':   --> [Entrée]
         8  watch -n 5 tail PRINT_OUT_FILE
         9
        10  python ../MAKEFILE/reorder.py --makefiles --arch paola && make
        11
        12  alias eclipse="/home/user/Perso_Soft/eclipse/eclipse"
        13  alias pycharm='/home/user/Perso_Soft/pycharm-2019.1.1/bin/pycharm.sh'
        14  alias Make10='make clean && make modules && make -j 10'
        15  alias cb='/home/user/Perso_Soft/CodeBlocks_Fortran_v1.6_Linux64/codeblocks_run.sh'
        16  alias template_directory='sh ~/Perso_Soft/template_directory.sh'
        17
        18  apropos where | apropos chercher
        19  find . -name "BLABLA*"
        20  tail -f "file" -> pour un tail qui s'actualise en continu
    Est-ce qu'il y aurait un moyen de mettre de la couleur dans ce fichier ? Peut-être qu'il faut que j'utilise autre chose que cat ?
    Est-ce qu'il y a un système particulier de balise que je peux utiliser ? Un lecteur autre que cat/more/less qui peut m'afficher des notes avec des couleurs ou des caractères en gras ?

    Des idées ?

    Merci.

  2. #2
    Membre émérite Avatar de balkany
    Homme Profil pro
    Touriste
    Inscrit en
    Juillet 2017
    Messages
    348
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 41
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Touriste

    Informations forums :
    Inscription : Juillet 2017
    Messages : 348
    Par défaut
    Tu peux par exemple l'ouvrir avec vi (qui doit probablement pointer vers vim dans ta distribution, à vérifier par ls -l /usr/bin/vi, sinon tu utilises explicitement vim).
    Par contre il faudrait sans doute lui rajouter un petit #!/bin/bash en première ligne, pour qu'il reconnaisse le langage et que la coloration syntaxique s'active bien.

  3. #3
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 652
    Par défaut
    Bonjour,

    pygmentize est très pratique pour afficher un fichier code avec une coloration (plusieurs choix sont possibles) syntaxique.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  4. #4
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Bonjour

    J'ai des fichiers de traces en couleurs. Et "cat" restitue bien les couleurs. Donc ton problème ne vient pas de cat, mais du fait que ton fichier ne contient aucune couleur.
    Tu peux te former à l'application de couleurs dans la console.

    Par exemple, en exécutant ce script :

    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    19
    20
    21
    22
    23
    24
    25
    26
    27
    28
    29
    30
    31
    32
    33
    34
    35
    36
    #!/bin/bash
     
    # Texte de l'exemple ( >= 3 caractères ) :
    TEXT=" Bash " ;
     
    # Couleur du texte :
    declare -a FG=('' '1' '4' '5' '7' '30' '31' '32' \
    '33' '34' '35' '36' '37') ;
     
    echo 
     
    # Première ligne :
    printf "FG \ BG\t%${#TEXT}s" ;
    for bg in {40..47} ; do
    	printf "%${#TEXT}s" "${bg}  " ;
    done
    echo ;
     
    # Création du tableau de présentation des combinaisons :
    for fg in ${!FG[*]} ; do
    	echo -ne "${FG[fg]}\t\033[${FG[fg]}m$TEXT" ;
    	for bg in {40..47} ; do
    		echo -ne "\033[${FG[fg]};${bg}m$TEXT\033[0m" ;
    	done
    	echo ;
    done
     
    # Comment déclarer une couleur :
    cat <<_eof_
     
     Format de déclaration : \\033[XXm où XX prend les valeurs 
           de FG ou BG" ;
     Retour aux paramètres par défaut : \033[0m" ;
     Pour plus de détails : http://www.admin-linux.fr/?p=9011
     
    _eof_
    Et je te donne mon entête en couleur : (dans ~/.bashrc)
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    export PS1="\[\e[1;33m\][\t \w]$ \[\e[00m\]"
    Fais ton marché.

  5. #5
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 652
    Par défaut
    ton fichier ne contient aucune couleur
    c'est pourquoi je propose pygmentize, qui permet d'éditer le fichier sans s'em..bêter avec des séquences d'échappements

    J'ai des fichiers de traces en couleurs.
    je veux bien en savoir plus.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

  6. #6
    Membre averti
    Homme Profil pro
    Ingénieur généraliste
    Inscrit en
    Juin 2015
    Messages
    42
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : Ingénieur généraliste
    Secteur : Industrie

    Informations forums :
    Inscription : Juin 2015
    Messages : 42
    Par défaut
    Merci Flodelarab !
    Merci N_BaH !
    Merci balkany !

    J'ai tout ce qu'il me faut !! J'aurais dû vous posez la question bien plus tôt ! Je vais bien m'amuser avec les pistes que vous m'avez données !

    A+

  7. #7
    Expert confirmé Avatar de Flodelarab
    Homme Profil pro
    Inscrit en
    Septembre 2005
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Charente (Poitou Charente)

    Informations forums :
    Inscription : Septembre 2005
    Messages : 5 288
    Par défaut
    Citation Envoyé par N_BaH Voir le message
    je veux bien en savoir plus.
    Il n'y a pas de miracle.
    • Soit tu gardes la mise en forme dans ton fichier et les échappements colorés restent. Et ...
      • Si les échappements sont interprétés, tu retrouves la couleur. Exemple : cat fichier
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        12
        [16:24:13 ~/dossier]$ cat fichier
        [11:34:24 ~/dossier]$ ls
        Autopsie du Journalisme.mp4
        avion.txt
        berge
        tournois.png
        fenetres.txt
        impairici.bash
        infile
        la.France.interdite.mp4
        [11:34:24 ~/dossier]$ déconnexion
        [16:24:13 ~/dossier]$
      • Si les échappement ne sont pas interprétés, tu as le texte pollué de séquences d'échappement. Exemple : cat -A fichier
        Code : Sélectionner tout - Visualiser dans une fenêtre à part
        1
        2
        3
        4
        5
        6
        7
        8
        9
        10
        11
        [16:24:13 ~/dossier]$ cat -A fichier
        ^[[1;33m[11:34:24 ~/dossier]$ ^[[00mls ^M$
        ^[[0m^[[01;35mAutopsie du Journalisme.mp4^[[0m^[[K^M$
        avion.txt^M$
        ^[[01;34mberge^[[0m^M$
        ^[[01;35mtournois.png^[[0m^M$
        ^[[01;32mimpairici.bash^[[0m^M$
        infile^M$
        ^[[01;35mla.France.interdite.mp4^[[0m^M$
        ^[[1;33m[11:34:24 ~/dossier]$ ^[[00mdM-CM-)connexion^M$
        [16:24:13 ~/dossier]$
    • Soit tu ne gardes que l'information brute, et tu perds toute couleur.


    L'exemple dont je parle est une console tmux (famille de screen) redirigée par une commande dans un fichier. Et tout est redirigé, même la couleur.
    Du coup, quand je fais un cat de cette trace, les ls sont colorés, l'invite est colorée, et j'ai même du mal à séparer la trace dans le fichier, de ma console réelle, puisque c'est la même charte graphique (couleurs). C'est malin. (notez les heures ...)

    Je suppose que j'avais obtenu cela simplement en utilisant l'une des commandes suivantes:

  8. #8
    Modérateur
    Avatar de N_BaH
    Profil pro
    Inscrit en
    Février 2008
    Messages
    7 652
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Février 2008
    Messages : 7 652
    Par défaut
    d'accord, merci.
    je pensais à une redirection de set -x, mais tmux c'est très bien.
    N'oubliez pas de consulter les cours shell, la FAQ, et les pages man.

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Erreur dans mon script bash
    Par johnd0 dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 24/06/2018, 01h52
  2. Greffer du ftp dans mon script bash
    Par _shuriken_ dans le forum Shell et commandes GNU
    Réponses: 3
    Dernier message: 30/11/2010, 12h49
  3. Requete SQL BETWEEN fonctionne dans le bash mais pas dans mon script?
    Par ssc37 dans le forum Shell et commandes GNU
    Réponses: 2
    Dernier message: 09/03/2009, 11h01
  4. Réponses: 7
    Dernier message: 02/03/2009, 17h42
  5. Probleme avec mon bash script
    Par spynux dans le forum Linux
    Réponses: 1
    Dernier message: 30/03/2006, 09h21

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo