Contenu | Rechercher | Menus

Annonce

Le forum rencontre en ce moment quelques soucis de charge, il est possible qu'une erreur soit affichée quand vous postez un message, ne rechargez pas la page au risque de poster une seconde fois votre message

Si vous rencontrez des soucis à rester connecté sur le forum (ou si vous avez perdu votre mot de passe) déconnectez-vous et reconnectez-vous depuis cette page, en cochant la case "Me connecter automatiquement lors de mes prochaines visites".

#1 Le 21/08/2009, à 10:26

shell

Bonjour,

Je débute le cours sur les langages de commandes et il y a un exemple :

$ echo SP1
$
$SP1='A vous>"
A vous>sh
$ echo $SP1
$

Le problème c'est quand je tape $SP1='A vous>" ça me met ensuite > en début de ligne à chaque fois et à la place d'afficher A vous>sh ça met  > en début de ligne et donc je ne peux effectuer les autres commandes ?
Il y a quelque chose que j'ai oublié de faire avant ou un truc à installer ?

Hors ligne

#2 Le 21/08/2009, à 10:28

Re : shell

C'est simplement parce que tu as ouvert les guillemets avec un ' et fermé avec un " (du coup ça n'est pas fermé).

Hors ligne

#3 Le 21/08/2009, à 10:30

Re : shell

à chaque fois dans le cours c'est marqué comme ça .
C'est quoi la différence entre ' et " ?

Hors ligne

#4 Le 21/08/2009, à 10:35

Re : shell

Avec ', ta chaine de caractère est prise telle quelle, sans être interprétée.
Avec ", tes variables sont interprétées:

$ echo "$HOME"
/home/ton_user

$ echo '$HOME'
$HOME

$ echo 'Ma variable $HOME vaut '"$HOME"
Ma variable $HOME vaut /home/ton_user

Dernière modification par MrAzerty (Le 21/08/2009, à 10:35)


On est toujours le geek de quelqu'un.

Hors ligne

#5 Le 21/08/2009, à 10:40

Re : shell

Merci,

par contre je tape les commandes avec " :

$ echo SP1
$
$SP1='A vous>"
A vous>sh
$ echo $SP1
$

mais pourquoi quand j'arrive à la ligne $SP1="A vous>" et que je tape entrée ça ne met pas la ligne A vous>sh ? ça me remet ¨~$ ?

Hors ligne

#6 Le 21/08/2009, à 10:49

Re : shell

C'est parcequ'il faut que tu fasse:

$ export PS1="A vous>"

(testé en ksh, j'ai pas de bash sous la main)

Sinon, on est bien d'accords, tu as pas tapé de "$" au début de ta commande, c'est juste ton prompt actuel ou celui de ton cours?


On est toujours le geek de quelqu'un.

Hors ligne

#7 Le 21/08/2009, à 11:00

Re : shell

Je tapais $SP1 , ça devait pas être ça ?

Par contre quand j'ai tapé export PS1="A vous>" ça m'a bien mis A vous> mais ensuite j'ai tapé sh pour faire A vous>sh et ça m'a remis A vous> ?

Hors ligne

#8 Le 21/08/2009, à 11:00

Re : shell

à chaque fois dans le cours c'est marqué comme ça .

Salut

Quelle cours utilise tu ? Ça m'intéresse, merci.

Hors ligne

#9 Le 21/08/2009, à 11:03

Re : shell

Je suis des cours chez Educatel

Hors ligne

#10 Le 21/08/2009, à 11:05

Re : shell

Ok merci.

Hors ligne

#11 Le 21/08/2009, à 11:11

Re : shell

En fait il ne faut pas taper le "$", c'est le prompt (comme "A vous>").
Le export sert à rendre la variable PS1 système. Une variable système existera aussi dans les programmes appelés.

Quand tu tapes 'sh', tu appelle le programme sh. Comme on a "exporté" PS1, il la connait lui aussi.

A part ça, sh est un interpréteur de commande, mais l'interpréteur de commande par défaut sous ubuntu est "bash" (qui est plus évolué, même si la syntaxe des commandes est généralement identique). Utilise plutôt ce dernier, tu as sans doute commencé ton cours avec lui.

Si tu est en sh,

PS1="A vous>"

Devrait marcher. Je sais pas pourquoi, en ksh ça marchait pas, il a fallu faire export, et je suppose que c'est pareil en bash.

Dernière modification par MrAzerty (Le 21/08/2009, à 11:11)


On est toujours le geek de quelqu'un.

Hors ligne