Aide en shell-script

momsse -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour,

Je bute depuis hier soir sur un problème en shell script, je m'explique l'exercice est de creer une commande baptisée "ra" qui affiche qui quand elle est lancée retourne Oui si l'on se trouve dans le repertoire d'accueil, non autrement, vous avez ci dessous le code de ma commande, qui malheuresement me renvoie Oui dans tous les cas ... Je ne vois pas d'ou vien le problème, j'espère que vous en verrez un ...


#!/bin/sh

test $(pwd)=$HOME && echo Oui || echo Non


En vous remerciant d'avance !
A voir également:

6 réponses

momsse
 
Pas d'idée ?
0
ekra Messages postés 1873 Statut Membre 342
 
Bonjour,

#!/bin/sh

test "`pwd`" = "$HOME" && echo Oui || echo Non


Fait attention, mets toujours un espace quand tu peux, protège tes chaines avec des " ".
a+
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Oups... trop tard ;-))
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,
[ "$(pwd)" == "$HOME" ] && echo "Oui" || echo "Non"
ou
test "$(pwd)" == "$HOME" && echo "Oui" || echo "Non"
;-))
0
momsse
 
Merci ekra et jipicy,

Je me souviendrai de ca, j'ai une autre question, cette fois ci je dois créer un script qui affiche le niveau de profondeur du répertoire courant, par exemple si je me trouve dans l'aborescence suivante:

/home/momsse/doss1/doss2

Le script affichera 4, voila actuellement l'état de mon script, ici la profondeur renvoyée est toujours 1, je pense que cela vien de la commande set et du '/', voila le script:

#!/bin/bash
set $(pwd)
IFS=/
echo La profoneur est $#

Qu'en pensez vous ?
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Initialiser la variable "IFS" en début de fichier plutôt...
#!/bin/bash
IFS=/
set $(pwd)
echo La profoneur est $# 
;-))
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
momsse
 
Je viens d'essayer en quotant '/' et en double-quotant "/" à l'attribution à IFS, cela n'a rien changé
0
ekra Messages postés 1873 Statut Membre 342
 
J'aurais fait plutôt cela, mais je n'ai pas testé je dois y aller ;)

#!/bin/bash
IFS="/"
set $(pwd)
echo La profoneur est $# 


0