[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [obsdfr-misc] Fichier: /etc/profile - Utilisation des fonctions
Julien Cabillot a écrit :
> 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"
>
>
>
> ________________________________
> French OpenBSD mailing list
> misc AT openbsd-france POINT org
> http://www.openbsd-france.org/ml
>
>
Je vais regarder, merci.
j'ai trouve une solution qui fonctionne:
echo "coucou" | sudo tee -a /var/log/monfichier 1>/dev/null
je vais bien entendu regarde la page du manuel.
--
Cordialement,
Olivier Regnier