printargs 0.0.0-20071004-014647

printargs does for command line arguments what printenv does for the environment.
printargs project does for command line arguments what printenv does for the environment. The output is bash friendly such that you can assemble the arguments to stdout in a way that bash can parse them on shell level without additional help.

This works even for meta-characters or line feeds in arguments. The code also is optimized to compile into a small static executable.

Actually, it does print a little bit more than just args and was designed for easy shell usage for argument manipulation and transmitting.

The output can be parsed by bourne shells again and is splitted onto stdout and stderr, such that you can use following code to save the arguments into a single line:

< pre >
saveargs="`printargs args... 2>/dev/null`"
eval cmd $saveargs
< /pre >

The full output can be parsed as follows. However you must be prepared that future versions may add more information right before the arg0 line:

< pre >
printargs args... 2>&1 |
while read -r what arg
eval data="$arg"
< /pre >

Note that printargs prints linefeeds to stderr and not stdout. This behavior is intentional to be able to concatenate argument lists on stdout from a loop.

Also note that printargs does not pad arguments with blanks at the beginning nor at the end, so you have to add these blanks yourself.

In args chars $, ' and blanks are escaped such that you can easily remove those ANSI sequence characters with '| tr -d "' $"'. This feature is intentional with a little readability tradeoff.

last updated on:
October 16th, 2007, 15:39 GMT
license type:
GPL (GNU General Public License) 
developed by:
Valentin Hilbig
ROOT \ Utilities
Download Button

In a hurry? Add it to your Download Basket!

user rating 4



Rate it!

Add your review!