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 17/09/2010, à 09:33

Lad

Exécuter un script depuis Alt + F2

Bonjour

J'ai écris un script bash tout bête qui lit un fichier contenant des numéros de téléphone avec un grep ou pas suivant qu'on a mis un argument.

J'aimerais, quand j'en ai besoin, pouvoir faire Alt +F2 taper ma commande et exécuter mon script qui affiche un résultats dans un terminal. Est il possible de faire ça ?

Merci

PS : Le script mais je doute que ça serve à qqun.

#!/bin/bash

# affiche le numero de tel

# adresse de l'annuaire
annuaire="/home/gvallver/Recherche/annuaire"

# entete
echo  ""
echo  "               - - ANNUAIRE - -"
echo  ""
echo  "UPPA : 05 59 40 XX XX"
echo  ""
echo  "----------------------------------------------------"
echo  "Prénom		Nom		téléphone"
echo  "----------------------------------------------------"

# selection
if [[ $1 == "" ]] ; then
	cat $annuaire
else
	grep -i --color=auto $1 $annuaire
fi

Hors ligne

#2 Le 17/09/2010, à 10:17

fde

Re : Exécuter un script depuis Alt + F2

Salut!

Ça devrait fonctionner si tu fais :

sh cheminverslescript [arguments]

Si tu veux avoir accès au script sans devoir indiquer le chemin complet, il suffi de modifier ton path : http://forum.ubuntu-fr.org/viewtopic.php?id=162955

Hors ligne

#3 Le 17/09/2010, à 10:28

Lad

Re : Exécuter un script depuis Alt + F2

mmh ça doit fonctionner dans le sens que je n'ai pas de messages d'erreur. Par contre, j'ai l'impression qu'un terminal souvre et se ferme instantanément. J'ai coché exécuter dans un terminal.

Faut il mettre un truc du genre "pause" à la fin du script ?

Pour le PATH c'était déjà fait wink

Hors ligne

#4 Le 17/09/2010, à 10:49

fde

Re : Exécuter un script depuis Alt + F2

Ah oui je vois ce que tu veux dire. En fait à la place de cocher "lancer dans un terminal" (qui se ferme dès que la commande se termine) tu peux lancer la commande :

gnome-terminal --command="tacommande"

Et là le terminal reste...

Dernière modification par fde (Le 17/09/2010, à 10:49)

Hors ligne

#5 Le 17/09/2010, à 11:29

xamaco

Re : Exécuter un script depuis Alt + F2

Une autre option un peu plus compliquée serait d'utiliser zenity. Il faudrait rediriger les sorties dans un fichier, puis faire par exemple : zenity --text-info --filename=lefichier.
Faire un man zenity...

Hors ligne

#6 Le 18/09/2010, à 20:54

sputnick

Re : Exécuter un script depuis Alt + F2

2 solutions :

echo foo |  zenity --info --text --title foo --text $(cat -)
xterm -hold -e ./script.sh

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#7 Le 18/09/2010, à 21:26

ehmicky

Re : Exécuter un script depuis Alt + F2

Lad a écrit :
if [[ $1 == "" ]]

Tu peux faire :

if [[ -z $1 ]]

Ce n'est pas la question originelle mais bon ça peut toujours aider comme astuce wink
Sinon sympa Sputnik le :

COMMANDE1 | COMMANDE2 "$(cat -)"

pour éviter xargs, et ça marche avec les builtins, super astuce big_smile, merci

Dernière modification par ehmicky (Le 18/09/2010, à 21:30)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#8 Le 19/09/2010, à 01:53

sputnick

Re : Exécuter un script depuis Alt + F2

Sinon sympa Sputnik le:

de rien miky tongue

concernant le test, pour moi le plus approprié est :

if [[ "$1" ]] ; then
    grep -i --color=auto "$1" "$annuaire"
else
    cat "$annuaire"
fi

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#9 Le 19/09/2010, à 01:58

sputnick

Re : Exécuter un script depuis Alt + F2

ce qui donne au final :

#!/bin/bash

# affiche le numero de tel

# adresse de l'annuaire
annuaire="/home/gvallver/Recherche/annuaire"

# entete
cat<<EOF

               - - ANNUAIRE - -

UPPA : 05 59 40 XX XX

----------------------------------------------------
Prénom        Nom        téléphone
----------------------------------------------------
EOF

# selection
if [[ "$1" ]]; then
    grep -i --color=auto "$1" "$annuaire"
else
    cat "$annuaire"
fi

On ne peut pas mettre d'array dans un string!
https://sputnick.fr/

Hors ligne

#10 Le 21/09/2010, à 09:50

Lad

Re : Exécuter un script depuis Alt + F2

Merci pour toutes vos réponses !

Sputnick je n'ai rien compris à ta commande. Comment ça fonctionne ? je met la première ligne dans un script qui appelle la seconde ?

Comment ça marche ?

Merci

Hors ligne

#11 Le 21/09/2010, à 10:44

Lad

Re : Exécuter un script depuis Alt + F2

Avec vos remarques voilà le code du script :


#!/bin/bash

# affiche le numero de tel

# adresse de l'annuaire
annuaire="/home/gvallver/Recherche/annuaire"

# entete
function entete {
cat<<EOF

                 - - ANNUAIRE - -

UPPA : 05 59 40 XX XX

----------------------------------------------------
Prénom		Nom		téléphone
----------------------------------------------------
EOF
}

# affichage
if [[ "$1" ]] ; then
	# cas avec recherche

	# teste si on trouve une personne
	grep -i "$1" "$annuaire" > /dev/null

	# affichage 
	if [[ $? == 0 ]] ; then
		entete
		grep -i --color=auto $1 $annuaire 
	else
		echo ""
		echo "personne dans l'annuaire"
		echo ""
	fi
else
	# affichage complet
	entete
	cat $annuaire
fi

Dernière modification par Lad (Le 21/09/2010, à 10:44)

Hors ligne

#12 Le 21/09/2010, à 15:06

ehmicky

Re : Exécuter un script depuis Alt + F2

grep -i "$1" "$annuaire" > /dev/null
if [[ $? == 0 ]] ; then

peut devenir :

if grep -i "$1" "$annuaire" > /dev/null ; then

ou, moins portable :

if grep -iq "$1" "$annuaire" ; then

Dernière modification par ehmicky (Le 21/09/2010, à 15:07)


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne

#13 Le 22/09/2010, à 11:31

Lad

Re : Exécuter un script depuis Alt + F2

Merci big_smile

Et pour l'exécution avec le Alt + F2 ? Tu sais comment on applique la commande de sputnick ?

Merci

Hors ligne

#14 Le 22/09/2010, à 15:18

ehmicky

Re : Exécuter un script depuis Alt + F2

Bah ou tu tapes la commande direct dans le prompt ALT-F2, ou tu crées un alias, ou tu crées un répertoire avec tes scripts perso que tu rajoutes à la variable PATH.


Stego++, bibliothèque libre de stéganographie (avec cryptographie), à venir !
Besoin de votre aide :
Stats sur les compilateurs C++ les plus utilisés
Comment utiliser les archetypes C++ ?

Hors ligne