On Thu, Jun 7, 2012 at 11:31 AM, Aaron Davies <[email protected]> wrote:
> how can i recover the command line used to launch a script from inside itself 
> (up to a difference in quote types)?

for v in "$@"; do
  printf ' %q' "$v";
done;
print

>
> e.g. if the command is
>
> $ ./myscript foo "bar" 'baz' "quux quuux" 'fred barney' wilma
>
> i'd like to be able to print, at a bare minimum,
>
> foo bar baz 'quux quuux' 'fred barney' wilma
>
> if i set -x and print "$@", i can see the quotes i'm looking for in the 
> trace, but i can't figure out how to get them into the regular output
>
> $ cat ./myscript
> cat ./myscript
> #!/Users/adavies/src/ksh93/arch/darwin.i386/bin/ksh -eux
> print "$@"
> $ /Users/adavies/src/ksh93/arch/darwin.i386/bin/ksh --version
> /Users/adavies/src/ksh93/arch/darwin.i386/bin/ksh --version
>  version         sh (AT&T Research) 93u 2011-02-08
> $ ./myscript foo "bar" 'baz' "quux quuux" 'fred barney' wilma
> ./myscript foo "bar" 'baz' "quux quuux" 'fred barney' wilma
> + print foo bar baz 'quux quuux' 'fred barney' wilma
> foo bar baz quux quuux fred barney wilma
> $
>
> basically i'm looking for a way to include custom debug/verbose output in 
> wrappers
>
> e.g.
>
> $ doitbetter myscript foo "bar" 'baz' "quux quuux" 'fred barney' wilma
>
> should be able to say
>
> doitbetter: doing `myscript foo "bar" 'baz' "quux quuux" 'fred barney' wilma' 
> better!
>
> if i put it in verbose mode
> --
> Aaron Davies
> [email protected]
> _______________________________________________
> ast-users mailing list
> [email protected]
> https://mailman.research.att.com/mailman/listinfo/ast-users

_______________________________________________
ast-users mailing list
[email protected]
https://mailman.research.att.com/mailman/listinfo/ast-users

Reply via email to