Variable substitution to show up in ps and jobs.


 
Thread Tools Search this Thread
Top Forums UNIX for Dummies Questions & Answers Variable substitution to show up in ps and jobs.
# 1  
Old 07-30-2014
Variable substitution to show up in ps and jobs.

when creating a for loop (or any other parameter) then using that paramter in a background command execution I only see the parameter name, not the value.
I have tried eval and exec and a host of other options to try to get the text of the parameter showing, so i know what step is left...
e.g.
Code:
for i in dog cat fish bucket
do
    myCommand $i &
done
jobs
[1]   Running                 myCommand $i
[2]   Running                 myCommand $i
[3]-  Running                 myCommand $i
[4]+  Running                 myCommand $i

But what I want to see is:
Code:
[1]   Running                 myCommand dog
[2]   Running                 myCommand cat
[3]-  Running                 myCommand fish
[4]+  Running                 myCommand bucket

Moderator's Comments:
Mod Comment edit by bakunin: please use CODE-tags

Last edited by bakunin; 07-30-2014 at 02:40 AM..
# 2  
Old 07-30-2014
Set xtrace:-
Code:
#!/bin/ksh -x

for i in dog cat fish bucket
do
    ./myCommand $i &
done

# 3  
Old 07-30-2014
Hadn't tried ksh

jobs gives:
Code:
[4] +  Running                 <command unknown>
[3] -  Running                 <command unknown>
[2]    Running                 <command unknown>
[1]    Running                 <command unknown>

But the ps is substituted!!!!
Code:
mysql     5847  5846  0 09:53 pts/2    00:00:00 /bin/bash ./myCommand.sh dog
mysql     5848  5846  0 09:53 pts/2    00:00:00 /bin/bash ./myCommand.sh cat
mysql     5849  5846  0 09:53 pts/2    00:00:00 /bin/bash ./myCommand.sh fish
mysql     5850  5846  0 09:53 pts/2    00:00:00 /bin/bash ./myCommand.sh bucket

Ta.
# 4  
Old 07-31-2014
Most shells put the original command line (before parsing) as ARG 0.
One of the rare cases where you can try eval.
Code:
for i in dog cat fish bucket
do
  cmd="myCommand $i &"
  eval $cmd
done
jobs

 
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Variable substitution

Hi, I have to write a shell script in which I have to substitute a variable within a variable. For example, var1=aaa var2=file.$var1.txt The output should be, echo $var2 file.aaa.txt Can someone please help me in getting this. I tried using eval, but it didnt work. I might be using it... (2 Replies)
Discussion started by: grajp002
2 Replies

2. Shell Programming and Scripting

How to use variable with command substitution in variable

For example I have variable like below echo $OUTPUT /some/path/`uname -n` when I try to use the variable OUTPUT like below cd $OUTPUT or cd ${OUTPUT} I am getting bad substituion error message $ cd $OUTPUT ksh: cd: bad substitution $ cd ${OUTPUT} ksh: cd: bad substitution ... (1 Reply)
Discussion started by: rajukv
1 Replies

3. Shell Programming and Scripting

Making script show command (e.g. copy) being executed and variable substitution?

When script is running you only see when some of the commands are not successfull. Is there a way to see which command are executed and to show the substitution of variables as every line is executed ? (3 Replies)
Discussion started by: gr0124
3 Replies

4. Shell Programming and Scripting

Variable Substitution

Hi , I have a variable as follows, Temp=`cat ABC.txt | cut -c5-` This will yeild a part of the date. say , 200912. I would like to substitute this variable's value in a filename. eg: File200912F.zip when i say File$TempF.zip , it is not substituting. Any help ? Thanks in... (2 Replies)
Discussion started by: mohanpadamata
2 Replies

5. Shell Programming and Scripting

variable substitution

file1.ksh #!/bin/ksh test5_create="I am a man" # test5 will be dynamic and the value will be passed from command line a=${1}_create echo $a # i need the output as "I am a man" ./file1.ksh test5 # i run the script like this any suggessions guys... (1 Reply)
Discussion started by: giri_luck
1 Replies

6. UNIX for Dummies Questions & Answers

Variable substitution

Hi, That might be pretty simple. How can I generate a variable name and get their value ? Thanks a lot. Something like: >CUSTOMER_NF=26 > object=CUSTOMER > echo ${object}_NF CUSTOMER_NF > echo ${${object}_NF} ksh: ${${object}_NF}: 0403-011 The specified substitution is... (7 Replies)
Discussion started by: Leo_NN
7 Replies

7. Shell Programming and Scripting

Sed variable substitution when variable constructed of a directory path

Hello, i have another sed question.. I'm trying to do variable substition with sed and i'm running into a problem. my var1 is a string constructed like this: filename1 filerev1 filepath1 my var2 is another string constructed like this: filename2 filerev2 filepath2 when i do... (2 Replies)
Discussion started by: alrinno
2 Replies

8. Shell Programming and Scripting

Variable Substitution

I have run into a wall with my iptables firewall scripting. I am blocking all of the private side IP addresses on the WAN interface on systems running NAT. However, if the system is not running NAT and needs to allow access to the local LAN on the WAN interface, I need to block all but one of... (2 Replies)
Discussion started by: garak
2 Replies

9. UNIX for Dummies Questions & Answers

variable substitution

Hi everyone, I have a simple question to ask : In a script that I'm writting, I need to create variables on-the-fly. For instance, for every iterartion of the following loop a var_X variable should be generated : #!/bin/ksh a="1 2 3" for i in $a do var_${i}=$i echo "${var_$i}" done ... (1 Reply)
Discussion started by: ck-18
1 Replies

10. UNIX for Advanced & Expert Users

Substitution in a variable

Hey All, I'm trying to clean up a variable using sed but It dosn't seem to work. I'm trying to find all the spaces and replace them with "\ " (a slash and a space). For Example "Hello World" should become "Hello\ World". But it does nothing. If I put it directly into the command line it works... (3 Replies)
Discussion started by: spragueg
3 Replies
Login or Register to Ask a Question