Sponsored Content
Top Forums UNIX for Dummies Questions & Answers Passing a command in a variable Post 302394139 by Corona688 on Wednesday 10th of February 2010 02:11:52 PM
Old 02-10-2010
I'd suggest against the xargs method. I'm surprised it worked at all for one thing; I didn't know it was able to swallow quotes like that, and I don't think you can depend on it always doing so the way you expect. Consider what xargs is actuallly for: converting lists into arguments. You're sending it scripts, not lists, which it may cheerfully mangle on the assumption that it can break lists apart wherever it wants.
Code:
echo a b c d e f | xargs cat

xargs might run cat a b c d e f. It could also run cat a b c ; cat d e f and not be in error. For cat, the result is the same. But you can't split a script like that and expect it to work!

vpass $account bash < commands on the other hand can swallow and run any valid shell script. You could put quite complex things in commands if you wanted.

As for performance, the shell has to read the file whenever it wants to run it, just like anything else. When you were running 'cat commands' it was reading it from disk too. The operating system will try to keep the entire file in memory if anything uses it, though, which lets the second time its read avoid the disk entirely. The OS will cache almost all disk I/O from any source if it can. (sometimes even when you don't want it to Smilie )

Your disk can probably read scripts faster than your computer can run them in any case.

On the remote host it's never cached. That's kind of the point -- you wanted to keep one master copy and not worry about having two dozen copies on your clients. This isn't a problem unless your script's gigantic, your network's very slow, and your connection's very unreliable.

The total disk reads and network traffic is similar to your original method anyway. The lines have to get from disk to A to B one way or another.

Last edited by Corona688; 02-10-2010 at 03:56 PM..
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Passing the command line argument in a variable

Hi, I am new to unix. Is their a way to pass the output of the line below to a variable var1. ls -1t | head -1. I am trying something like var1=ls -1t | head -1, but I get error. Situation is: I get file everyday through FTP in my unix box. I have to write a script that picks up first... (1 Reply)
Discussion started by: rkumar28
1 Replies

2. Shell Programming and Scripting

Passing a variable in SED getting command garbled

I fairly new to SED. I have tried many different variations of this line of code and even breaking it down into its components and running them separately. They work individually without variables but when I place the $todbname variable it will either inserts the text "connect to $todbname"... (3 Replies)
Discussion started by: edewerth
3 Replies

3. Shell Programming and Scripting

Passing a variable to sudo sed command

hi, dataParse(){ line="$@" name="cat /etc/passwd | grep "$line": | cut -f6 -d':'" eval $name > sam.txt 2>&1 sudo -u $line sed -n 's/data-1/&/p' $name/test.xml >> sam1.txt } Here i getting the homedir of the accounts and is set in name variable.which returns "/home/raju" which i... (3 Replies)
Discussion started by: sachin.tendulka
3 Replies

4. Shell Programming and Scripting

passing variable values to awk command

Hi, I have a situation where I have to specify a different value to an awk command, I beleive i have the gist of this done, however I am not able to get this correct. Here is what I have so far echo $id 065859555 This value occurs in a "pipe" delimited file in postition 8. Hence I would... (1 Reply)
Discussion started by: jerardfjay
1 Replies

5. Shell Programming and Scripting

Passing a variable to sed command

Hi guys, I wanted to pass a variable to the sed command which tells which line to be deleted. a=2; echo $a; sed '$ad' c.out it is throwing an error. sed: 0602-403 "$a"d is not a recognized function. I even tried "$a" and \$a.. but it is of no use. Can you please correct me... (6 Replies)
Discussion started by: mac4rfree
6 Replies

6. Shell Programming and Scripting

passing variable to sed command not working

Hello All, I am trying to embed variable in sed command to fetch a portion of record between two pattern. This command is not working ...any suggestion on this how to place the variable in sed command to find a portion . I am using Sun OS (Solaris). Thanks JM (1 Reply)
Discussion started by: jambesh
1 Replies

7. Shell Programming and Scripting

Passing perl variable to shell command

Can we pass perl variable to shell commands. If yes, please give some example. (2 Replies)
Discussion started by: Anjan1
2 Replies

8. Shell Programming and Scripting

Passing a variable to kill command

I have a script that kicks off several processes in the background and stored their pids in a variable as follows: PID_DUMP_TRAN=$PID_DUMP_TRAN" "$! so I then have a list of pids If I echo $PID_DUMP_TRAN I get back a list of pids e.g. 8210 8211 8212 However I then want to kill all these... (5 Replies)
Discussion started by: sjmolloy
5 Replies

9. Shell Programming and Scripting

Passing Shell variable from file to another command

Hi all, I have a file looks like AAAA 111 BBBB 222 CCCC 333 need to pass variable value like var1=AAAA and var2=111 to another command for three times with next values. stuck over here cat file | while read line do export var1=`awk '{print $1}'` echo $var1 export var2=`cat file... (3 Replies)
Discussion started by: rakeshtomar82
3 Replies

10. UNIX for Advanced & Expert Users

Passing Variable in -mtime command

Hi, As the process of log cleanup, Im using the below command find $DIR -mtime +3 -type f -exec gzip {} \; The problem is I want to pass +3 as variable in my unix shell. I have defined ZPDATE=+3 in my properties file and calling this property file in my script. If i try the... (6 Replies)
Discussion started by: Deena1984
6 Replies
mcat(1) 						      General Commands Manual							   mcat(1)

Name
       mcat - dump raw disk image

Note of warning
       This  manpage  has been automatically generated from mtools's texinfo documentation, and may not be entirely accurate or complete.  See the
       end of this man page for details.

Description
       The mcat command is used to copy an entire disk image from or to the floppy device. It uses the following syntax:

       mcat [-w] drive:

       Mcat performs the same task as the Unix cat command. It is included into the mtools package, since cat cannot access remote floppy  devices
       offered by the mtools floppy daemon.  Now it is possible to create boot floppies remotely.

       The default operation is reading. The output is written to stdout.

       If  the	-w  option is specified, mcat reads a disk-image from stdin and writes it to the given device.	Use this carefully! Because of the
       low-level nature of this command, it will happily destroy any data written before on the disk without warning!

See Also
       Mtools' texinfo doc

Viewing the texi doc
       This manpage has been automatically generated from mtools's texinfo documentation. However, this process is only  approximative,  and  some
       items, such as crossreferences, footnotes and indices are lost in this translation process.  Indeed, these items have no appropriate repre-
       sentation in the manpage format.  Moreover, not all information has been translated into the manpage version.  Thus I strongly  advise  you
       to use the original texinfo doc.  See the end of this manpage for instructions how to view the texinfo doc.

       *      To generate a printable copy from the texinfo doc, run the following commands:

		     ./configure; make dvi; dvips mtools.dvi

       *      To generate a html copy,	run:

		     ./configure; make html

       A premade html can be found at `http://www.gnu.org/software/mtools/manual/mtools.html'

       *      To generate an info copy (browsable using emacs' info mode), run:

		     ./configure; make info

       The  texinfo  doc looks most pretty when printed or as html.  Indeed, in the info version certain examples are difficult to read due to the
       quoting conventions used in info.

mtools-4.0.13							      28Feb10								   mcat(1)
All times are GMT -4. The time now is 01:15 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy