Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
script shell / variables / nom d'utilisateur
Envoyé par: cedric b

Bonjour,

voici mon dernier (pour le moment) probleme:
j ai un script qui prend en parametre un nom d utilisateur.
J aimerai accpeder a son repertoire. Donc, betement, je fais, dans le script :
cd ~$1

Mais a l execution, j obtient :
./addToGridmapFile.sh: line 28: cd: ~cedric: No such file or directory

pourtant je vous assure que l utilisateur ainsi que le rep exitent et que j ai le droit d y aller.
Je suppose que le ~cedric est pris comme une chaine de caractere... et donc qu il cherche le repertoire ./~cedric.

Comment regle le probleme?
J ai essaye en entourant $1 par : ', ", ` .... mais rien y fait.

Merci.

PS : je ne pourrais pas lire les reponses avant la nuit de lundi a mardi. mais j en ai besoin pour mardi matin.

Poste le Saturday 30 April 2005 06:14:30
Répondre     Citer    
Re: script shell / variables / nom d'utilisateur
Envoyé par: Sve@r

En fait, quand tu fais "cd ~cedric" en ligne de commande, c'est le bash qui intercepte cette chaîne "~cedric" et qui le remplace par "/home/cedric".

Apparemment, la chaîne "~cedric" n'est pas convertie dans ton script; à moins que cela ne vienne de "$1"
Pour t'en assurer, tu peux faire un petit script tout simple qui fasse "cd ~cedric; pwd" ou "echo ~cedric" histoire d'être sûr.

Autre chose, il faut être certain que ton script travaille en bash et qu'il ait la ligne "#!/bin/bash" ou "#!/bin/sh"en début de script (le sh est un lien sur bash sous Linux).

Enfin, dans le pire des cas, ben tu peux utiliser "$1" pour aller récupérer son "home" dans "/etc/passwd" et faire un "cd home_de_$1"
Ex: cd `grep "^$1:" /etc/passwd |cut -f6 -d:`

De toute façon on peut toujours s'en sortir...

Poste le Saturday 30 April 2005 11:24:23
Répondre     Citer    
Re: script shell / variables / nom d'utilisateur
Envoyé par: Eric92

Le plus simple est d'utiliser la commande eval :
eval cd ~$1

Poste le Sunday 1 May 2005 03:14:23
Répondre     Citer    
[RESOLU] script shell / variables / nom d'utilisateur
Envoyé par: cedric b

:-))La solution d'Eric marche a la perfection. C'est cool! je me souviendrais de cette commande.
Sve@r, ta solution est une bonne idee mais ahaha.... trop complique!:-p

Merci!

Poste le Tuesday 3 May 2005 05:14:10
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
script shell / variables / nom d'utilisateur
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons