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 07/07/2008, à 17:04

n3o51

Projet doc hors ligne Aide memoire bash

Bonjour à tous,
débutant en script shell, je souhaiterais développer, pour m'entrainer, un script permettant d'épauler les débutants en script shell.
Il pourrait par exemple permettre de naviguer via une doc hors-ligne (composée de divers docs et tutos libres disponibles sur le net).
Il offrirait également un mémo de toutes les infos q'on peut rechercher régulièrement (nom des variable, recapitulatif des boucles et tests existant(e)s ...)
Le but étant de rassembler un maximun d'infos incontournables pour les débutants, dans une doc bien indexée afin que l'on puisse trouver rapidement une réponse aux questions les plus basiques.
Donc, si certains d'entre vous veulent participer au projet, faire une suggestion ou proposer leurs sites préférés pour se former au scripts, ils sont les bienvenus.

Dernière modification par n3o51 (Le 07/07/2008, à 17:05)


Welcome to the real world
________________________________

Hors ligne

#2 Le 08/07/2008, à 03:16

n3o51

Re : Projet doc hors ligne Aide memoire bash

Bonjour a tous !!!!
J'ai donc un premier jet

#!/bin/bash
### Etude de BA$H

#### Introduction a bAsh 

####===============================================#####
#### Ce script ce charge d'être votre memo en bash #####
####===============================================#####
# zenity --info --text "Info de http://aral.iut-rodez.fr/fr/sanchis/enseignement/bash/ar01s01.html#id449200
# La fonction ACCUEIL nous permettra de lister le menu de la table des matiéres

confrep="/home/$USER/.BAsH.conf"
#La fonction MISEAJOUR
function MISEAJOUR {
cd "$confrep/Pages_MAN"
wget "ftp://88.191.23.236/Pages_MAN/*" --no-check-certificate
}
# La fonction CREATE (Définition d'un dossier  "$confrep" )

function CREATE  {
mkdir "$confrep"
}

function sorti {
if [ "$?" != "0" ] ; then
	zenity --info --title="$0" --text="Action annulée par l'utilisateur." ; exit 1
fi
}

function quit_script {
if [ "$?" != "0" ] ; then
	zenity --info --title="$0" --text="Action annulée par l'utilisateur, fin du script." ; exit 1
fi
}

function retour_menu { 
  if [ $? != 0 ] ; then
            zenity --error --title="Warning" \
                --text="Vous n'avez rien selectionné \nRetour au menu !!!" ; MENU
fi
}

function MAN {
MAN=$(zenity --entry --text "Quels pages man souhaitez vous consulter") && echo "$MAN" >$confrep/Man
DIR="$confrep/Pages_MAN"
      cat $DIR/$MAN.odt | zenity --text-info --title='$MAN' --width=800 --height=600
  if [ "${PIPESTATUS[0]}" != "0" ] ; then
     zenity --error --title="Une erreur est survenue" --text="Aucun nom n'as étè entré"
fi
}

function ACCUEIL  {
while true ; do
ACT=$(zenity --list --checklist --width=400 --height=350 --title "Auto_install by N3o" --text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="" --column="Categories" --hide-column=2  \
FALSE MAN "Rechercher des pages MAN" \
FALSE MEM "Aide-mémoire des commandes Linux" \
FALSE NOT "Ajouter vos propres notes avec Pense-bêtes" \
FALSE DOC "Consulter la Doc " 
FALSE EXE "Faire un exercice !!!")
case $ACT in
MAN)
 MAN
break
;;
esac
done
}


function PREFACE {
while true ; do
PRE=$(zenity --list --checklist --width=400 --height=350 --title "ETUDE DE BASH" --text="Veuillez sélectionnez les informations demandés:" \
--column="Selection" --column="" --column="Categories" --hide-column=2  \
FALSE ACCU "Accueil"   \
FALSE MISE "Mise a jour" \
FALSE APRO "A propos" )
    if [ $? != 0 ] ; then
zenity --info --title="Fin du script !" --text="Merci d'avoir utilisé ce script. \n 
Bonne journée ! \n
N3o"
        exit 0
    fi


case $PRE in 

                   ACCU)
                       ACCUEIL
                   ;;
              
                    MISE)
                       MISEAJOUR
                      ;;

    esac

done
}




#Définitions des vari@bles
function MENU {
while true ; do
    PREFACE 
    if [ $? != 0 ] ; then
zenity --info --title="Fin du script !" --text="Merci d'avoir utilisé ce script. \n 
Bonne journée ! \n
N3o"
        exit 0
    fi

    case $ACT in

    MAN)
       MAN
break
       
            

            ;;
 
        MEM)

    esac
done

}





### Le lancement du Menu 

if [ -d "$confrep" ] ; then 
    if [ -f "$confrep/Man" ] ; then 
        # Je lance la Fonction MENU 
        MENU 
    else
        # Je lance la fonction CREATE 
        CREATE && MENU   
    fi
else

# Je créer le repertoire de configuration de ce script 
    mkdir "$confrep"
# Je lance la fonction CREATE 
    CREATE && MENU      
fi

Par contre j'ai un petit soucis avec la fonction MAN

function MAN {
MAN=$(zenity --entry --text "Quels pages man souhaitez vous consulter") && echo "$MAN" >$confrep/Man
DIR="$confrep/Pages_MAN"
      cat $DIR/$MAN.odt | zenity --text-info --title='$MAN' --width=800 --height=600
  if [ "${PIPESTATUS[0]}" != "0" ] ; then
     zenity --error --title="Une erreur est survenue" --text="Aucun nom n'as étè entré"
fi
}

Si j'enleve le .odt

cat $DIR/$MAN.odt

'ai pas le probleme avec les

(zenity:11716): Gtk-CRITICAL **: gtk_text_buffer_emit_insert: assertion `g_utf8_validate (text, len, NULL)' failed

Mais n'est-il vraiment pas possible de mettre en page un fichiers lus ??
Mettre en page de cette maniére :

zenity --info --text "
<span font-family=\"Arial\">essai de polices</span>
<span font-family=\"sans-serif\">essai de polices</span>
<span font-family=\"Helvetica\">essai de polices</span>
<span font-family=\"impact\">essai de polices</span>
<span font-family=\"sans\">essai de polices</span>
<span font-family=\"webdings\">essai de polices</span>
"
zenity --info --text "
<span color=\"red\">red</span>
<span color=\"green\">green</span>
<span color=\"blue\">blue</span>
<span color=\"yellow\">yellow</span>
<span color=\"magenta\">magenta</span>
<span color=\"white\">white</span>
<span color=\"black\">black</span>
<span color=\"gray\">gray</span>
<span color=\"lightblue\">lightblue</span>
<span color=\"lightgray\">lightgray</span>
 <b><big>ETC...</big></b>
"
zenity --info --text "
 <b>style</b>
 <big>style</big>
 <i>style</i>
 <s>style</s>
 <sub>style</sub>
 <sup>style</sup>
 <small>style</small>
 <tt>style</tt>
 <u>style</u>
"

En attente de vos reponses Merci d'avance...

Dernière modification par n3o51 (Le 08/07/2008, à 03:17)


Welcome to the real world
________________________________

Hors ligne