What will echo $$ command give


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers What will echo $$ command give
# 1  
Old 01-04-2012
What will echo $$ command give

Hi

I tried giving the following command
echo $$a

I got an output like 32178a

Can some one please explain why echo $$ is returning 32178

Thanks in advance
# 2  
Old 01-04-2012
That is your terminal process ID ..
Code:
$ echo $$
19095
$ tty
/dev/pts/39
$ ps -ef | grep "/dev/pts/39"
userid  1052 19095  0 07:36:14 pts/39   0:00 grep /dev/pts/39
$

# 3  
Old 01-04-2012
Thank you
# 4  
Old 01-04-2012
@Sri3001: I see what you're tying to do here. You have something stored in variable 'a', the stored value if used as a variable will point to something else, right. Try this:

Code:
$ a=x
$ x=hello
$ echo $a
x
$ echo $x
hello
$ eval echo \$$a
hello

And as enunciated by jayan_jay, $$ refers to the pid of current shell. So a plain echo $$awould no doubt fetch you a pid concatenated with 'a'.
# 5  
Old 01-08-2012
Quote:
Originally Posted by jayan_jay
That is your terminal process ID ..
Code:
$ echo $$
19095
$ tty
/dev/pts/39
$ ps -ef | grep "/dev/pts/39"
userid  1052 19095  0 07:36:14 pts/39   0:00 grep /dev/pts/39
$

Why we are not able to combine both 2nd and 3rd commands?
i have tried the below:
Code:
pandeeswaran@ubuntu:~$ ps -ef | grep `tty`
grep: a: No such file or directory
grep: tty: No such file or directory
pandeeswaran@ubuntu:~$ ps -ef | grep `tty|sh`
sh: not: not found
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.

What i am doing wrong?

Thanks

---------- Post updated at 12:05 AM ---------- Previous update was at 12:02 AM ----------

I have tried the below also:
Code:
pandeeswaran@ubuntu:~$ ps -ef|grep "`tty`"
1000      3059  2221  0 13:35 pts/0    00:00:00 grep --color=auto not a tty

---------- Post updated at 12:09 AM ---------- Previous update was at 12:05 AM ----------

Finally got it:
Code:
ps -ef|grep "`tty`"|cut -d" " -f9

is equiavlent to
Code:
echo $$

But still i don't know why
Code:
ps -ef|grep "`tty`"

returns some
Code:
grep --color=auto not a tty

at the end,

Thanks
# 6  
Old 01-08-2012
Quote:
Originally Posted by pandeesh
Why we are not able to combine both 2nd and 3rd commands?
i have tried the below:
Code:
pandeeswaran@ubuntu:~$ ps -ef | grep `tty`
grep: a: No such file or directory
grep: tty: No such file or directory
  
--- snip---


But still i don't know why 
Code:
ps -ef|grep "`tty`"
returns some
Code:
grep --color=auto not a tty
at the end, Thanks


If you execute with set -x or replace grep with echo, it might make the results more clear. The grep $(tty) is being run in a child process whch isn't associated with the tty and the output from the command is 'not a tty'. This output is being passed to grep, so the command line looks like this after the tty runs:
Code:
ps -ef  | grep "not" "a" "tty"

And grep then searches for the word 'not' in the files 'a' and 'tty' resulting in the no such file messages.


If you want this will work:


Code:
eval ps -ef \|grep $(tty)


The tty command is executed first, in the current shell associated with the tty and then the pipeline is executed such that grep is given one search argument.
# 7  
Old 01-09-2012
@pandeesh
Please stop hijacking threads.

Code:
echo $$

This is process ID of the current shell. It is described in the "man" for your Shell.

Quote:
ps -ef|grep "`tty`"|cut -d" " -f3
is equiavlent to

Code:
echo $$
Though the most awful piece of code, it demonstrates that parent process of the "grep" command is the current shell. It does nothing else. The only thing that grep found was itself.
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

How do I give permission for the kill command?

<?php $comando = "kill -9 3104"; $output = shell_exec($comando); ?> I am running this web page, but it does not execute the command, in the log file it looks like this: sh: 1: kill: Operation not permitted How do I give permission to execute the command? (1 Reply)
Discussion started by: Rodrigo_Bueno
1 Replies

2. Shell Programming and Scripting

[Solved] My sed command not give me a satisfy result

This is my command echo "Test" | sed -f <(sed -e 's/.*/s,&,gI/' mydic) In mydic file,containing 2 columns delimit by comma (,) a,AlphabetA . . . e,AlphabetE . . s,AlphabetS . t,AlphabetT test,testedd . . zebra,zebraaaa The expect result is testedd (0 Replies)
Discussion started by: Runicer
0 Replies

3. Shell Programming and Scripting

give some color to a word on echo output

Hi Supposed this text output: How can I show $HOSTNAME in other color than blank? :-) KSH on AIX (4 Replies)
Discussion started by: iga3725
4 Replies

4. Red Hat

ls command to give full path to files

How can i perform a ls or other command to list the full paths of files from a ls? Looked through the man page for ls, no luck $ cd /tmp/ $ ls -l total 6 drwx------ 2 root root 4096 Nov 7 2008 keyring-7b5rMv drwx------ 2 bcr bcr 4096 Dec 7 2007 keyring-cGhir8 $ I'd be looking for... (1 Reply)
Discussion started by: brendan76
1 Replies

5. UNIX for Dummies Questions & Answers

how to give PASSPHRASE to gpg in command line?

Hello sir, I am using "gpg" command to encrypt a file. We generally do it :- then it asks us for :- I want to know how to give this Passphrase in the command line itself !!!I did read the man page but couldnt make out what is the option for it.Can u please help me out !!! (2 Replies)
Discussion started by: nsharath
2 Replies

6. UNIX for Dummies Questions & Answers

Give the command names

Hiii, I have a requiremnt like this---- Please provide the current sever capacity and the % of utilization for each of the servers used by your respective applications. Also please provide the list of applications running on each of the unix server can you please help me out in this. (2 Replies)
Discussion started by: namishtiwari
2 Replies

7. Shell Programming and Scripting

Can we give multiple patterns to a sed command???

HI, I want to know can multiple pattern be given inside a sed statement.. Input: aa_bb_cc.Mar-22-2007 cc_dd_ee.Mar-21-2007 aa_1002985_952.xml aa_bb_032207.txt aa_bb_cc_10002878.dat Output: aa_bb_cc cc_dd_ee aa.xml aa_bb.txt aa_bb_cc.dat (6 Replies)
Discussion started by: kumarsaravana_s
6 Replies

8. Shell Programming and Scripting

if i give this command what would be the value...

if i give dir=/tmp/${0##*/} what would b the value stored in dir ..i'm more concerned about the 0##*/ part.. (1 Reply)
Discussion started by: suri
1 Replies

9. Shell Programming and Scripting

how to give a variable to a command in shell script...

hi all... I am executing a comman in a shell script but the command needs a user input of character 'y' as input so it stops in between...may i know is there is any way of giving that character as input in the shell script itself???...thanks in advance.... (6 Replies)
Discussion started by: santy
6 Replies

10. AIX

command to give me Database

Which is command I could used, to give me the kind of database ,size of database and version of database ? (4 Replies)
Discussion started by: magasem
4 Replies
Login or Register to Ask a Question