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 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 wink

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

zorg-green a écrit :

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.



Ed38 a écrit :

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 wink

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 : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde 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