Aide en shell-script

Fermé
momsse - 26 avril 2007 à 16:18
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 26 avril 2007 à 17:36
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

Pas d'idée ?
0
ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014 342
26 avril 2007 à 17:13
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
26 avril 2007 à 17:19
Oups... trop tard ;-))
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
26 avril 2007 à 17:19
Salut,
[ "$(pwd)" == "$HOME" ] && echo "Oui" || echo "Non"
ou
test "$(pwd)" == "$HOME" && echo "Oui" || echo "Non"
;-))
0
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 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
26 avril 2007 à 17:36
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
Je viens d'essayer en quotant '/' et en double-quotant "/" à l'attribution à IFS, cela n'a rien changé
0
ekra Messages postés 1870 Date d'inscription vendredi 15 avril 2005 Statut Membre Dernière intervention 24 juillet 2014 342
26 avril 2007 à 17:34
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