Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

if repertoire existe

18 réponses
Avatar
Thomas
pouvez vous me rappeler svp (on me l'a deja dit mais j'ai perdu le truc)
comment on fait
if repertoire existe
svp ?
cad je veux executer une commande seulement si un certain repertoire
existe, pas sinon

merci :-)

10 réponses

1 2
Avatar
Thomas
pouvez vous me rappeler svp (on me l'a deja dit mais j'ai perdu le
truc) comment on fait if repertoire existe svp ? cad je veux executer
une commande seulement si un certain repertoire existe, pas sinon

merci :-)


je precise : en tcsh svp, pas en sh :-)


ps
pendant que j'y suis pouvez vous m'expliquer vite fait ce que fait
l'option -c de sh svp ? parce que le man ! ... ouarfff !!! :oP

Avatar
Benoit Izac
Bonjour,

le 27/07/2003 à 02:19, Thomas a
écrit dans le message <20030727021942226+ :

pouvez vous me rappeler svp (on me l'a deja dit mais j'ai perdu le
truc) comment on fait if repertoire existe svp ? cad je veux executer
une commande seulement si un certain repertoire existe, pas sinon

merci :-)


je precise : en tcsh svp, pas en sh :-)


fait appelle à la commande externe « test ».
man test(1)



ps
pendant que j'y suis pouvez vous m'expliquer vite fait ce que fait
l'option -c de sh svp ? parce que le man ! ... ouarfff !!! :oP


Je le trouve pourtant assez clair. La chaîne de caractère qui est après
le -c est executée ; s'il y a d'autres chaînes après, elles sont
considérées comme des arguments (en commençant par $0).


Par exemple :

sh -c 'echo $0 , $1' arg1 arg2
^^^^^^^^^^^^ ^^^^ ^^^^
commande | |
argument 1 ---+ +-- argument 2

strictement equivalent à :

----- script.sh ------
#!/bin/sh
echo $0 , $1
----------------------

./script.sh arg1 arg2

--
Benoit Izac


Avatar
Arnaud Launay
Le Sun, 27 Jul 2003 02:19:42 +0200, Thomas écrivit:
pouvez vous me rappeler svp (on me l'a deja dit mais j'ai perdu le
truc) comment on fait if repertoire existe svp ? cad je veux executer
une commande seulement si un certain repertoire existe, pas sinon
je precise : en tcsh svp, pas en sh :-)



if [ -d REP ]; do
BLABLABLA
done

?

Arnaud.
--
There are no winners in life, only survivors.


Avatar
Thomas
Bonjour,

le 27/07/2003 à 02:19, Thomas a
écrit dans le message <20030727021942226+ :

pouvez vous me rappeler svp (on me l'a deja dit mais j'ai perdu le
truc) comment on fait if repertoire existe svp ? cad je veux
executer une commande seulement si un certain repertoire existe, pas
sinon

merci :-)


je precise : en tcsh svp, pas en sh :-)


fait appelle à la commande externe « test ».
man test(1)


et le resultat qq on en fait ?? on le met dans un if ?




ps
pendant que j'y suis pouvez vous m'expliquer vite fait ce que fait
l'option -c de sh svp ? parce que le man ! ... ouarfff !!! :oP


Je le trouve pourtant assez clair. La chaîne de caractère qui est
après le -c est executée ; s'il y a d'autres chaînes après, elles sont
considérées comme des arguments (en commençant par $0).


Par exemple :

sh -c 'echo $0 , $1' arg1 arg2
^^^^^^^^^^^^ ^^^^ ^^^^
commande | |
argument 1 ---+ +-- argument 2

strictement equivalent à :

----- script.sh ------
#!/bin/sh
echo $0 , $1
----------------------

../script.sh arg1 arg2



merci :-)
pour moi c'est plus clair :-)



Avatar
Thomas
Le Sun, 27 Jul 2003 02:19:42 +0200, Thomas écrivit:
pouvez vous me rappeler svp (on me l'a deja dit mais j'ai perdu le
truc) comment on fait if repertoire existe svp ? cad je veux
executer une commande seulement si un certain repertoire existe,
pas sinon
je precise : en tcsh svp, pas en sh :-)



if [ -d REP ]; do
BLABLABLA
done


if [ -d REP ] do
ls
done

./e: line 3: syntax error near unexpected token `done'
./e: line 3: `done'

qq il faut que je modifie ?


je precise : je prgm en ada, et j'ai l'intention de continuer comme ca :-)
donc je ne connais presque pas le langage de script shell, et je n'ai
pas l'intention de m'y mettre pour de bon,
donc je vous remercie de l'aide que vous me donnez, dont j'ai besoin
ponctuellement
merci à vous 2 (pour commencer) :-)



Avatar
Thierry Boudet
In article <20030728163206187+, Thomas wrote:

if [ -d REP ] do
ls
done

./e: line 3: syntax error near unexpected token `done'
./e: line 3: `done'

qq il faut que je modifie ?

if [ -d ce/truc/la ]

then
echo "fait soif"
fi


--
... Thierry Boudet .................. http://tboudet.free.fr/cv.html ...

Avatar
root
On Mon, 28 Jul 2003 16:32:06 +0200, Thomas wrote:

Le Sun, 27 Jul 2003 02:19:42 +0200, Thomas écrivit:
pouvez vous me rappeler svp (on me l'a deja dit mais j'ai perdu le
truc) comment on fait if repertoire existe svp ? cad je veux
executer une commande seulement si un certain repertoire existe,
pas sinon
je precise : en tcsh svp, pas en sh :-)



if [ -d REP ]; do
BLABLABLA
done


if [ -d REP ] do
ls
done

./e: line 3: syntax error near unexpected token `done'
./e: line 3: `done'

qq il faut que je modifie ?



ça ne marche pas ... parce que c'est du sh ...

en csh/tcsh on fait:

if ( -d $REP ) then
echo "le repertoire $REP existe"
else
echo "le repertoire $REP n'existe pas"
endif




Avatar
Thomas
ça ne marche pas ... parce que c'est du sh ...

en csh/tcsh on fait:

if ( -d $REP ) then
echo "le repertoire $REP existe"
else
echo "le repertoire $REP n'existe pas"
endif


merci à vous 2 aussi :-)


avec les parentheses ca me donne :
./e: -d: command not found

alors j'ai remis les crochets, et ca me donne :
./e: line 3: syntax error near unexpected token `fi'
./e: line 3: `fi'
avec "fi", et :
./e: line 4: syntax error: unexpected end of file
avec endif


(voilà le dernier essai complet :

if [ -d REP ] then
ls
endif

)


que me proposez vous pour continuer les essais svp ?

Avatar
Laurent Wacrenier
Thomas écrit:

que me proposez vous pour continuer les essais svp ?


man csh

Avatar
Thomas
if [ -d REP ] then
ls
endif


C'est du bash ou du csh ca ? J'ai un doute ?


ce que j'ai ecrit ci dessus ? j'en sais rien
tout ce que je sais, c'est qu'encore rien de ce que j'ai essayé ne
marche avec tcsh :-(
c'est tout


Au fait, pourquoi un programmeur ADA, qui apparament n'a pas
l'intention de se mettre au shell, veut absolument avoir du csh et pas
du bash ?


parce que c'est mon shell par defaut,
et que si je change de shell faudrait peut etre que je me refasse un
fichier d'init (ou au moins que j'en trouve un à telecharger), je vais
devoir changer mes habitudes (oui je sais c'est pas mieux que ceux qui
veulent rester sous windows (enfin ethiquement tcsh c'est pas aussi
mauvais que M$, meme si c'est un mauvais shell ;-) )), etc ...

pourquoi ?
pour toi, un programmeur ADA c'est une bete curieuse ? ;-)


Bon, sinon il y a toujours une solution quasi universelle :

test -d REP && echo "le repertoire existe"


ouais ca marche :-))) merci :-)


1 2