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

Fixer une variable d'environnement Linux depuis un script Perl ?

3 réponses
Avatar
ctobini
Bonjour,

Je suis sous un syst=E8me Linux et je souhaite monter un partage en
passant l'option uid dans /etc/fstab afin de pouvoir y =E9crire.

Le mieux serait que uid soit fix=E9e selon l'id de l'utilisateur courant
avec une variable uid=3D$id_courante.

Un petit script Perl comme :

my $id =3D `id`;
$id =3D $1 if $id =3D~ /^ \s* uid=3D(\d+) /x;

Permet de r=E9cup=E9re l'id de l'utilisateur courant.

Sauriez-vous comment pouvoir affecter uid=3D$id depuis Perl =E0 une
variable d'environnement afin de pouvoir ensuite l'int=E9grer =E0 fstab ?

PS: si vous avez une meilleure solution, je suis preneur :-)

En vous remerciant,

C=2E Tobini

3 réponses

Avatar
Nicolas George
ctobini wrote in message
:
my $id = `id`;


man perlvar, chercher les variables $< et $>.

$id = $1 if $id =~ /^ s* uid=(d+) /x;


man id, chercher l'option -u.

Sauriez-vous comment pouvoir affecter uid=$id depuis Perl à une
variable d'environnement afin de pouvoir ensuite l'intégrer à fstab ?


À quelle variable d'environnement voudrais-tu l'affecter, et pour quoi
faire ?

Avatar
Jean-Baptiste Mazon
ctobini writes:

Bonjour,

Je suis sous un système Linux et je souhaite monter un partage en
passant l'option uid dans /etc/fstab afin de pouvoir y écrire.

Le mieux serait que uid soit fixée selon l'id de l'utilisateur courant
avec une variable uid=$id_courante.

Un petit script Perl comme :

my $id = `id`;
$id = $1 if $id =~ /^ s* uid=(d+) /x;

Permet de récupére l'id de l'utilisateur courant.

Sauriez-vous comment pouvoir affecter uid=$id depuis Perl à une
variable d'environnement afin de pouvoir ensuite l'intégrer à fstab ?


L'environnement courant est accessible via le hash magique %ENV.
Documentation dans perlvar.

Attention, les changements effectués sur lui ne peuvent pas être
propagés à l'appelant. C'est comme ça que fonctionne le mécanisme
d'environnement, ça n'a pour ainsi dire rien à voir avec Perl. Ça
signifie juste que seuls le processus en cours (perl) et les processus
fils en bénéficient. Je ne sais pas si c'est le cas ici, où ni mount
ni fstab n'apparaissent dans le code.

PS: si vous avez une meilleure solution, je suis preneur :-)


L'appel à `id` est probablement superflu, les identifiants de
l'utilisateur en cours sont aussi disponibles via des variables
spéciales. Cf perlvar aussi.

Avatar
Raphaël 'SurcouF' Bordet
Bonjour,

Je suis sous un système Linux et je souhaite monter un partage en
passant l'option uid dans /etc/fstab afin de pouvoir y écrire.


[...]

PS: si vous avez une meilleure solution, je suis preneur :-)


Justement, pourquoi ne pas utiliser l'option users de mount ?
De quel système de fichiers est composé et avec quel protocole la
montes-tu ?

--
Raphaël SurcouF