#1 Le 17/09/2010, à 08: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, à 09: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, à 09: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
Hors ligne
#4 Le 17/09/2010, à 09: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, à 09:49)
Hors ligne
#5 Le 17/09/2010, à 10: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, à 19: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/
En ligne
#7 Le 18/09/2010, à 20:26
- ehmicky
Re : Exécuter un script depuis Alt + F2
if [[ $1 == "" ]]
Tu peux faire :
if [[ -z $1 ]]
Ce n'est pas la question originelle mais bon ça peut toujours aider comme astuce
Sinon sympa Sputnik le :
COMMANDE1 | COMMANDE2 "$(cat -)"
pour éviter xargs, et ça marche avec les builtins, super astuce , merci
Dernière modification par ehmicky (Le 18/09/2010, à 20: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, à 00:53
- sputnick
Re : Exécuter un script depuis Alt + F2
Sinon sympa Sputnik le:
de rien miky
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/
En ligne
#9 Le 19/09/2010, à 00: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/
En ligne
#10 Le 21/09/2010, à 08: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, à 09: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, à 09:44)
Hors ligne
#12 Le 21/09/2010, à 14: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, à 14: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, à 10:31
- Lad
Re : Exécuter un script depuis Alt + F2
Merci
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, à 14: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