Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 14/03/2008, à 15:59

V-LINK

Perl -- Modifier champs d'une ligne du fstab

Bien le bonjour Ubunteros !

Je vous expose mon probleme au combien prenant...

En effet, je suis en train de creer un script perl/bash qui permet de gerer le /etc/fstab et je rencontre un probleme. Je desirerais pouvoir changer les options de montage des partitions et je n'y arrive pas car j'arrive a selectionner le champs sans probleme mais je ne sais pas comment réécrire le fichier... voyez plutot :

sub modmount
{
	$viv_userid = `id -u`;
	if ($viv_userid !=0)
	{
	print "La modification d'une partition du fstab requiert d'être logué en tant que root\n\n";
	}
	else
	{
	@viv_automnt = `sed -n -e '/[#]/!p' /etc/fstab`;
	print "\tPeripheriques\t\tOptions\n\t------------\t\t-------\n";
	foreach $viv_line (@viv_automnt)
	{
		($viv_modperiph,$viv_modmount,$viv_modtype,$viv_modoptions) = split(" ",$viv_line);
		print "\t$viv_modperiph\t\t$viv_modoptions\n";	
	}
	print "Entrez le chemin du peripherique donc vous voulez modifier les options (Exemples : /dev/sda1 ou UUID=****) : ";
	$viv_modchoix = <STDIN>;
	chomp $viv_modchoix;
	@viv_modchosenper = grep(/$viv_modchoix/,@viv_automnt);
	chomp @viv_modchosenper;
	foreach $viv_line2 (@viv_modchosenper)
	{
		($viv_mod2periph,$viv_mod2mnt,$viv_mod2type,$viv_mod2options,$viv_mod2dump,$viv_mod2pass) = split(" ",$viv_line2);
		print "\n$viv_mod2periph\t$viv_mod2mnt\t$viv_mod2type\t$viv_mod2options\t$viv_mod2dump\t$viv_mod2pass\n";
	}
	print "Entrez les options que vous desirez : ";
	$viv_mod2options2 = <STDIN>;
	chomp $viv_mod2options2;
	print "Configuration originale :\n";
	print "---> $viv_mod2periph\t$viv_mod2mnt\t$viv_mod2type\t$viv_mod2options\t$viv_mod2dump\t$viv_mod2pass\n";
	print "Configuration modifiée :\n";
	print "---> $viv_mod2periph\t$viv_mod2mnt\t$viv_mod2type\t$viv_mod2options2\t$viv_mod2dump\t$viv_mod2pass\n";
	modconfirm();
}
}

Voila je serais reconnaissant aux personnes qui pourraient m'aider.

P.S. J'aimerais bien faire en sorte que ma ligne soit a l'endroit de la ligne originale et non la supprimer pour en rajouter une en bas.  Cependant si je dois faire cette methode ce n'est rien.

D'avance merci.:D

Hors ligne