views:

46

answers:

2

Hi !

I want to grep the username. the command id gives the following.
id output is
uid=0(root) gid=0(root)

but i want the output as only root or who ever the user is.

+1  A: 

That's not a grep, that's a cut:

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

If you're doing this in a script (as a comment implies), you need to capture the output of the command properly. In bash, use:

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

Many o(th|ld)er shells support the backtick syntax:

USER=`id | cut -d '(' -f 2 | cut -d ')' -f 1`
unwind
when i use it in a script , it displays nothing #!/bin/bashUserid=id | cut -d '(' -f 2 | cut -d ')' -f 1echo $Userid
randeepsp
A: 
id -un

will directly print the name associated with the current effective user-id.

Diomidis Spinellis
it stays illegal option --u . im using solaris
randeepsp