#1 Le 29/12/2010, à 14:52
- Kiwi41
[OK] Problème pour faire un alias
Bonjour,
je souhaite faire un alias de sudo -l | awk -F '[()]' '{sub("NOPASSWD:",""); print "sudo -u " $2 $3}'
Commande qui me formate les commandes que je peux passer en préfixant par sudo -u le user avec lequel je peux faire le sudo.
Mais j'ai un soucis, je ne trouve pas de syntaxe (autre que mettre la commande dans un .sh) pour que les " les ( et autres ; ne soient interprétés...
Avez-vous une idée ?
Merci d'avance !
Dernière modification par Kiwi41 (Le 04/01/2011, à 17:09)
Hors ligne
#2 Le 29/12/2010, à 14:56
- TraGiKomiK
Re : [OK] Problème pour faire un alias
bonjour,
Il me semble (a verifier) que c'est le caractere \ qui protege le caractere suivant, la syntaxe a essayer serait donc:
alias monalias='sudo -l | awk -F \'[()]\' \'{sub(\"NOPASSWD:\",\"\"); print \"sudo -u\" $2 $3}\''
Mais n'etant pas certain de mon coup essaye ou attend confirmation de quelqun d'autre
Merci de mettre [RESOLU] dans le titre de votre post une fois le probleme reglé!
GNU/Linux -> \o/
Hors ligne
#3 Le 29/12/2010, à 14:56
- TraGiKomiK
Re : [OK] Problème pour faire un alias
oups doublon
Dernière modification par TraGiKomiK (Le 01/01/2011, à 16:54)
Merci de mettre [RESOLU] dans le titre de votre post une fois le probleme reglé!
GNU/Linux -> \o/
Hors ligne
#4 Le 03/01/2011, à 08:41
- nesthib
Re : [OK] Problème pour faire un alias
Il te faut faire une fonction bash et non un alias qui est réservé aux commandes simples. Ajoute cette ligne dans ton .bashrc :
function tafonction () {
sudo -l | awk -F '[()]' '{sub("NOPASSWD:",""); print "sudo -u " $2 $3}'
}
NB. la solution de TraGiKomiK ne devrait pas fonctionne puisque les « ' » seront interprétées littéralement.
GUL Bordeaux : Giroll – Services libres : TdCT.org
Hide in your shell, scripts & astuces : applications dans un tunnel – smart wget – trouver des pdf – install. auto de paquets – sauvegarde auto – ♥ awk
⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn
Hors ligne
#5 Le 04/01/2011, à 17:09
- Kiwi41
Re : [OK] Problème pour faire un alias
Merci super !
Hors ligne