[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [obsdfr-misc] Fichier: /etc/profile - Utilisation des fonctions
On sam, 2008-03-29 at 23:23 +0100, Olivier Regnier wrote:
> Stéphane Chausson a écrit :
> > Olivier Regnier a écrit , Le 29/03/08 14:51:
> >> Jérôme Loyet a écrit :
> >>> pourquoi tu ne fais pas un
> >>>
> >>> if /sbin/mount | /usr/bin/grep "/usr/obj"; then
> >>> ...
> >>> fi
> >>>
> >>> ?
> >>>
> >>> 2008/3/29, Olivier Regnier <oregnier AT oregnier POINT info>:
> >>>> Bonjour,
> >>>>
> >>>> J'ai développé une fonction afin de compiler OpenBSD depuis les
> >>>> sources.
> >>>>
> >>>> Voici le code:
> >>>>
> >>>> [debut]
> >>>> function build_userland
> >>>> {
> >>>> if [[ ! -d /usr/obj ]] then
> >>>> echo "=> /usr/obj doesn't seem to exist!"
> >>>> return 0
> >>>> else if [[ ! `/sbin/mount | /usr/bin/grep "/usr/obj"` ]] then
> >>>> sudo /sbin/mount /usr/obj && sudo /sbin/newfs wd0h
> >>>> sudo /sbin/mount /usr/obj
> >>>> else
> >>>> echo "=> Error /usr/obj is already mounted!"
> >>>> return 0
> >>>> fi
> >>>> fi
> >>>> [suite]
> >>>>
> >>>> Le problème se situe au niveau du else if [[ `/sbin/mount |
> >>>> /usr/bin/grep
> >>>> "/usr/obj"` ]]
> >>>>
> >>>> J'obtiens à l'écran le message suivant:
> >>>>
> >>>> syntax error: `$(/sbin/mount | /usr/bin/grep "/usr/obj")' missing
> >>>> expression operator
> >>>>
> >>>> Qu'en pensez-vous ?
> >>>>
> >>>> Merci d'avance.
> >>>>
> >>>>
> >>>> --
> >>>> Cordialement,
> >>>> Olivier Regnier
> >>>>
> >>>> ________________________________
> >>>> French OpenBSD mailing list
> >>>> misc AT openbsd-france POINT org
> >>>> http://www.openbsd-france.org/ml
> >>>>
> >>>>
> >> Merci vous aviez raison donc le code devient maintenant:
> >>
> >> if ! /sbin/mount | /usr/bin/grep "/usr/obj"; then
> >> sudo /sbin/newfs wd0h && sudo /sbin/mount /usr/obj
> >> else
> >> sudo /sbin/umount /usr/obj && sudo /sbin/newfs wd0h
> >> sudo /sbin/mount /usr/obj
> >> fi
> >>
> >> Si la partition est démontée, elle est formatée puis remontée
> >> sinon elle démontée, formaté puis remonté.
> >>
> >> S'il est possible d'améliorer ce code, je suis preneur.
> >>
> >> Merci.
> >>
> >
> > Puisque la partition doit être "formatée" et montée à la fin :
> >
> > if /sbin/mount | /usr/bin/grep "/usr/obj"; then
> > sudo /sbin/umount /usr/obj
> > fi
> >
> > sudo /sbin/newfs wd0h
> > sudo /sbin/mount /usr/obj
> >
> > Mais bon, il y a plus d'une façon de faire. ;-)
> >
> > ________________________________
> > French OpenBSD mailing list
> > misc AT openbsd-france POINT org
> > http://www.openbsd-france.org/ml
> >
> >
> Merci pour ce code, il est plus simple.
>
> Pendant que j'y suis, je n'arrive pas à écrire dans le fichier
> /var/log/monfichier avec la commande:
>
> sudo echo "coucou" >/var/log/monfichier
>
> Il me dit simplement: permission denied. Du coup, j'ai essayé une commande
> du style:
>
> sudo "echo 'coucou' >/var/log/monfichier" et j'obtiens un command not found.
>
> Un avis s'il vous plaît ?
>
> Merci.
>
Jete un oeil à man sudo, y a un exemple :
$ sudo sh -c "cd /home ; du -s * | sort -rn > USAGE"