Vous êtes sur la page 1sur 10

Concatner

for i in $* do k=$i done

f1 f2 f3 f4 F

while test $1 != $k do cat $1 >> $k shift done

Concatner

f1 f2 f3 f4 F

if test -e $1 ; then If test -w $1 ; then exit 0 else exit 2 fi else if test -w `dirname $1`;then exit 0 else if chmod u+w `dirname $1`;then exit 1 else exit 3 fi

Concatner
for i in $* do k=$i done

f1 f2 f3 f4 F

./mestests $k If test $? -eq 0 ...........


while test $1 != $k do cat $1 >> $k shift Done

If test $? -eq 1 ; then chmod u-w `dirmane $k` fi

copier f1 f2 g1 g2 h1 h2 f
while test $2 do echo cp $1 $2 shift shift done if test $1 then echo $1 non trait fi

Supprimer les fichiers identiques dans le cd $1 rpertoire pass en paramtre


for i in * ; do if test -f $i ; then for j in * ; do if test -f $j ; then if $i != $j ; then if cmp $i $j ; then rm $j fi fi done fi

Exemple : Supprimer tous les fichiers en .o qui ont leur .c

Option de compilation : -c : suppression de ldition de lien, cration du .o (compilation spare) gcc c proc.c ===> proc.o

for prog in *.o do if [ -f

`basename $prog

.o .c ]

then rm $prog fi done

Problme : Le script shell qui permet de chercher et dafficher tous les sous rpertoires, partir dun rpertoire donn en second argument, qui contiennent un fichier, donn en premier argument.

cherche

fichier.ext

cd $2 if test f $1 then echo le fichier $1 est dans le sous repertoire fi for i in * do if test d $i then fi done $HOME/cherche cherche $1 $i $1 $i

`pwd`

Cette commande aurait pu scrire en utilisant la commande find :

find

$2

name

$1

-print