Variable usage


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Variable usage
# 1  
Old 03-19-2015
Variable usage

Hi ,

I am using a simple loop:-
Code:
for PID in `ps -auxww| grep -v grep | awk '{print $2}'`
   do
      echo "Found : $PID   : Killing..."
      kill -9 ${PID}
   done.

I want to know what will be the difference for killing the PID by using :-
${PID} , $PID, `$PID` and '$PID'.

I want to know about this in a broader sense not only for this loop.

Thanks

Last edited by Scrutinizer; 03-19-2015 at 01:47 AM.. Reason: code tags
# 2  
Old 03-19-2015
Code:
${PID} = content of variable PID
$PID   = content of variable PID
`$PID` = result of executing the content of variable PID as a command
'$PID' = the literal string $PID

Only the first two can be used in this case..
This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 03-19-2015
Hello Raj999,

Welcome to forum Raj, please use code tags as per forum rules for your commands/codes/Inputs used in your posts. Following is the link where you can go through from the forum rules.
https://www.unix.com/misc.php?do=cfrules

Now coming to your question.
1st of all I think there is no need to use for loop you can check with following command. Be aware of using command which you have shown us because I think you don't want to kill all processes and command which you showed us can kill all processes if used correctly, I am a bit confuse here I guess if you are looking for a particular id of a process for example any java process, any script's process you can do following then.
Code:
ps -auxww| grep -v grep | grep "java" | awk '{print "kill -9 " $2}'

If happy with above result use following then.
Code:
ps -auxww| grep -v grep | grep "java" | awk '{print "kill -9 " $2}' |sh


Now coming to your questions of using variables, here is some explaination for same.
i- ${PID}and $PIDseems to be same.
ii- `$PID` is having no meaning as either `PID` or $PID should do the trick to get value of variable PID.
iii- '$PID' this will simply print value $PID as echo will consider it as a simple text.


Please go through my post carefully, DONOT use commands blindly, read the post and try to understand things, get back to us if you have any questions on same.

Thanks,
R. Singh
This User Gave Thanks to RavinderSingh13 For This Post:
# 4  
Old 03-19-2015
Thanks for the quick response.
I need to know can there be case where ${PID} and $PID be different.(No releation to the for loop).
What is the use of {} around the variable name. Does it affect the execution or the output.
# 5  
Old 03-19-2015
Hi, from man bash:
Quote:
The braces are required when parameter is a positional parameter with more than one digit, or when parameter is followed by a character which is not to be interpreted as part of its name.
For example
Code:
$ var=foo
$ echo "1. $var"
1. foo
$ echo "2. ${var}"
2. foo
$ echo "3. $varbar"
3. 
$ echo "4. ${var}bar"
4. foobar
$ 
$ set -- A B C D E F G H I J K L
$ echo "$1 $12"
A A2
$ echo "$1 ${12}"
A L


Last edited by Scrutinizer; 03-19-2015 at 02:28 AM..
This User Gave Thanks to Scrutinizer For This Post:
 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Usage of a variable in awk BEGIN

Hi, diffcount=`awk 'BEGIN { while ( getline < "/scripts/matt/text.server1.reference" ) { arr++ } } { if (!( $0 in arr ) ) { print } }' $TMPDIR/$(basename $0 .sh) | wc -l` if ]; then OK="OK - No change in the interfaces status" elif ]; then DIFF=`awk 'BEGIN {... (4 Replies)
Discussion started by: nms
4 Replies

2. Shell Programming and Scripting

Usage of # in assignment of variable

guys, i would like to know what does the below does. tr=`echo $bfile | cut -d"." -f4` tr=${tr#TR} i tried with assigning a value and executed second line. but after that also value of tr remains same. thanks in advance .. (1 Reply)
Discussion started by: expert
1 Replies

3. Shell Programming and Scripting

Usage of shell variable in perl command

Hi, I have a shell script, In which i have variable "var1" and some perl command inside shell script. export var1='coep -n rst-a2p-hinje.vci.all.com -c' perl -pi -e 's/^/coep -n rst-a2p-hinje.vci.all.com -c /' command.txt currently I am adding value of var1 in command.txt file by... (2 Replies)
Discussion started by: rakeshtomar82
2 Replies

4. UNIX for Dummies Questions & Answers

Variable usage issue

Hi, I need a help in setting scope of the variable. I want to use the below logic right before the "break" statement if ; then echo $header echo $trailer fi But due the scope of the variable it is causing issues. I tried using "export" statement. But it changes the output completely ... (0 Replies)
Discussion started by: Prem148
0 Replies

5. Shell Programming and Scripting

sed usage with Variable

Gurus, I am trying to display a match (single character) from beginning of the line in a file using a variable. I tried using sed ... not sure where am doing it wrong... sed -n "/^\$variable/p" FileName.shor sed -n "/^\${variable}/p" FileName.shBoth of the above are not working.....Thanks... (4 Replies)
Discussion started by: Kevin Tivoli
4 Replies

6. Shell Programming and Scripting

Confused with the usage of one variable usage

Hi All I am not able to understand the usage of d# in the below variable declaration. FILE_LOC contains the directory path And also help me to know about what will be saved in the variable j. Thanks!!! j=${d#${FILE_LOC}/} (2 Replies)
Discussion started by: mohanm
2 Replies

7. AIX

How to monitor the IBM AIX server for I/O usage,memory usage,CPU usage,network..?

How to monitor the IBM AIX server for I/O usage, memory usage, CPU usage, network usage, storage usage? (3 Replies)
Discussion started by: laknar
3 Replies

8. HP-UX

how can I find cpu usage memory usage swap usage and logical volume usage

how can I find cpu usage memory usage swap usage and I want to know CPU usage above X% and contiue Y times and memory usage above X % and contiue Y times my final destination is monitor process logical volume usage above X % and number of Logical voluage above can I not to... (3 Replies)
Discussion started by: alert0919
3 Replies

9. UNIX for Advanced & Expert Users

Usage of $ as variable name

Hi I have to use a Environment variable and that variable has $ prefixed to its name like, $var=/home/source/test/ i need to use the variable as i have show above. :confused: Help requested..... Thanks in advance... (6 Replies)
Discussion started by: shreekrishnagd
6 Replies

10. UNIX for Dummies Questions & Answers

usage of same variable in multiple scripts

Hi, I have a .test file which has: #!/bin/ksh export TEST_FLAG=1 In the test1.ksh i have: #!/bin/ksh . .test echo $TEST_FLAG When i execute the test1.ksh its showing the value as 1. But if i refer the same variable in another script, the value is not 1. Basically, I need to have... (1 Reply)
Discussion started by: risshanth
1 Replies
Login or Register to Ask a Question