2010-09-15 9 views
0

Je veux grep le nom d'utilisateur. L'ID de commande donne ce qui suit.
sortie id est
uid = 0 (root) gid = 0 (root)nom d'utilisateur grep sous unix

mais je veux la sortie comme seule racine ou qui jamais l'utilisateur est.

Répondre

1

Ce n'est pas un grep, c'est un cut:

$ id | cut -d '(' -f 2 | cut -d ')' -f 1 

Si vous faites cela dans un script (comme un commentaire implique), vous devez capturer la sortie de la commande correctement. En bash, utilisez:

USER=$(id | cut -d '(' -f 2 | cut -d ')' -f 1) 

Beaucoup o (e | ld) coquilles er en charge la syntaxe backtick:

USER=`id | cut -d '(' -f 2 | cut -d ')' -f 1` 
+0

quand je l'utilise dans un script, il affiche rien #/bin/bash userid = id! | cut -d '(' -f 2 | cut -d ')' -f 1 echo $ Userid – randeepsp

0
id -un 

imprimera directement le nom associé à l'efficacité actuelle ID utilisateur.

+0

il reste illégal option --u. im en utilisant solaris – randeepsp