#1 Le 02/02/2010, à 20:48
- fove
bashrc, ne lancer des commandes que si je suis sous tty
Bonjour,
Je voudrais personnaliser un peut mes tty (qu'il m'arrive souvent d'utiliser), et donc je voudrais que deux commandes se lancent a chaque identification dans un tty OU dans un terminal ssh et seulement dans ces deux cas. à cet effet j'ai mis le code suivant dans mon bashrc :
#if [ $(tty) = /dev/tty* ]; then
# screen
# linuxlogo
#fi
Sauf qu'après, lorsque je lance n'importe quelle console (tty ou graphique), je resoit sa :
bash: [: trop d'arguments
Et j'aimerais savoir ou se situe mon erreur.
Bien à vous.
Cordialement.
ACTA attaque l'internet attaquons ACTA
Black-aout contre ACTA sur Ubuntu-fr.org : http://forum.ubuntu-fr.org/viewtopic.php?id=376173
Soutenons la quadrature du net : http://www.laquadrature.net/fr/acta-attaque-linternet-attaquons-acta
Hors ligne
#2 Le 02/02/2010, à 21:36
- Ed38
Re : bashrc, ne lancer des commandes que si je suis sous tty
Salut,
Essaie de faire un
echo /dev/tty*
et tu comprendras
Le message d'erreur cité survient lorsque que l'on oublie de protéger par des guillemets les variables susceptibles de contenir des espaces.
Pour en revenir au test que tu veux faire, un
if [ $(tty | grep tty) ]
serait plus approprié.
Hors ligne
#3 Le 02/02/2010, à 21:42
- JB-home
Re : bashrc, ne lancer des commandes que si je suis sous tty
normalement tu as juste à rajouter se que tu veut afficher à la fin de "/home/user/.bashrc"
edit : je vient de verifier mes tty , et ça affiche bien se que je voulais, ça s'affiche aussi sur gnome-terminal par contre
Dernière modification par zorg-green (Le 02/02/2010, à 21:44)
Hors ligne
#4 Le 02/02/2010, à 22:14
- fove
Re : bashrc, ne lancer des commandes que si je suis sous tty
normalement tu as juste à rajouter se que tu veut afficher à la fin de "/home/user/.bashrc"
edit : je vient de verifier mes tty , et ça affiche bien se que je voulais, ça s'affiche aussi sur gnome-terminal par contre
Oui mais moi je voudrais que certaines commande ne se lancent QUE lorsque je suis sous tty pure et jamais lorsque je suis sous une autre console (que se soit screen konsole terminator etc), j'ai besoin donc de mettre dans ma condition un test qui me dit si le terminal courant est un tty ou non.
Pour en revenir au test que tu veux faire, un
if [ $(tty | grep tty) ]
serait plus approprié.
J'ai bien fais dans mon bashrc :
if [ $(tty | grep tty) = /dev/tty* ]
screen
linuxlogo
fi
et
if [ $(tty | grep tty)]
screen
linuxlogo
fi
mais que se soit avec l'un ou j'autre, en ouvrant une console j'ai :
bash: /home/fove48/.bashrc: line 104: Erreur de syntaxe près du symbole inattendu « fi »
bash: /home/fove48/.bashrc: line 104: `fi'
fove48@OperateurNoir:~$
Dernière modification par fove (Le 02/02/2010, à 22:15)
ACTA attaque l'internet attaquons ACTA
Black-aout contre ACTA sur Ubuntu-fr.org : http://forum.ubuntu-fr.org/viewtopic.php?id=376173
Soutenons la quadrature du net : http://www.laquadrature.net/fr/acta-attaque-linternet-attaquons-acta
Hors ligne
#5 Le 02/02/2010, à 22:25
- Ed38
Re : bashrc, ne lancer des commandes que si je suis sous tty
Désolé, j'avais réduit à l'essentiel, il faut bien-sûr conserver le "then" à la fin
Hors ligne
#6 Le 02/02/2010, à 22:30
- nesthib
Re : bashrc, ne lancer des commandes que si je suis sous tty
regarde cet article, il n'y a pas que .bashrc pour lancer des commandes au lancement d'une console
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#7 Le 02/02/2010, à 22:53
- fove
Re : bashrc, ne lancer des commandes que si je suis sous tty
@Ed38: chuis vraiment bete ^^ sa marche maintenant, à un soucis prét, c'est qu'apres que screen se soit lancé, linuxlogo se lance, oui mais dans le meme shell que celui c'est lancé screen et non à l'interieur de screen.
maintenant je dois faire une condition, qui lance linux logo seulement lorseque le scehell est screen.
ACTA attaque l'internet attaquons ACTA
Black-aout contre ACTA sur Ubuntu-fr.org : http://forum.ubuntu-fr.org/viewtopic.php?id=376173
Soutenons la quadrature du net : http://www.laquadrature.net/fr/acta-attaque-linternet-attaquons-acta
Hors ligne
#8 Le 03/02/2010, à 17:38
- fove
Re : bashrc, ne lancer des commandes que si je suis sous tty
... Je n'y arrive pas, même quand ej fais :
if [ $(tty | grep tty) ]; then
screen
linuxlogo
if [ $TERM = screen ]; then
linuxlogo
fi
fi
la commande linuxlogo ne se lance pas dans screen mais dans le même shell que celui dans lequel se trouve screen...
Comment faire pour que linuxlogo se lance dans screen lorsque celui-ci est lancé dans un tty ???
ACTA attaque l'internet attaquons ACTA
Black-aout contre ACTA sur Ubuntu-fr.org : http://forum.ubuntu-fr.org/viewtopic.php?id=376173
Soutenons la quadrature du net : http://www.laquadrature.net/fr/acta-attaque-linternet-attaquons-acta
Hors ligne
#9 Le 26/03/2010, à 01:01
- nordinatueur
Re : bashrc, ne lancer des commandes que si je suis sous tty
As-tu essayé de lancer 'screen linuxlogo' au lieu de 'linuxlogo' ?
Linux User #508094
Pour une meilleure coopération, utilisez des liens relatifs sur le forum !
Hors ligne