zsh-users
 help / color / mirror / code / Atom feed
* Re: [MAYBE SOLVED] passing modified parameter list to child
@ 2012-07-03 10:23 Ronald Fischer
  2012-07-03 15:10 ` Bart Schaefer
  0 siblings, 1 reply; 2+ messages in thread
From: Ronald Fischer @ 2012-07-03 10:23 UTC (permalink / raw)
  To: zsh-users

>For example, if the user calls
>  master --foo --bar=baz abcd
>this should be turned into
>  slave --foo --bar=baz --use=abcd
>but a call
>  master -x -y
>should just become
>  slave -x -y

I found the following approach, which already seems to be pretty
compact:

if [[ ${@[-1]:--} != -* ]] # If last argument is present, but does not
start with a dash
then
   argv[-1]=--use=${@[-1]}
fi
slave "$@"

In the cases I tested, this seemed to work well. If someone thinks that
my solution is flawed, or come out with a better one, I would be glad to
know.

Ronald
-- 
Ronald Fischer <ronaldf@eml.cc>
+  If a packet hits a pocket on a socket on a port, 
+  and the bus is interrupted and the interrupt's not caught,
+  then the socket packet pocket has an error to report.
+		(cited after Peter van der Linden)


^ permalink raw reply	[flat|nested] 2+ messages in thread

* Re: [MAYBE SOLVED] passing modified parameter list to child
  2012-07-03 10:23 [MAYBE SOLVED] passing modified parameter list to child Ronald Fischer
@ 2012-07-03 15:10 ` Bart Schaefer
  0 siblings, 0 replies; 2+ messages in thread
From: Bart Schaefer @ 2012-07-03 15:10 UTC (permalink / raw)
  To: Ronald Fischer, zsh-users

On Jul 3, 12:23pm, Ronald Fischer wrote:
}
} if [[ ${@[-1]:--} != -* ]] # If last argument is present, but does not
} start with a dash
} then
}    argv[-1]=--use=${@[-1]}
} fi
} slave "$@"

To cover the case of no arguments at all, here's a tweak to the answer
I posted yesterday:

    setopt extendedglob
    (( $# )) && argv[-1]="${argv[-1]/(#s)(#b)([^-])/--use=$match[1]}"
    slave "$@"


^ permalink raw reply	[flat|nested] 2+ messages in thread

end of thread, other threads:[~2012-07-03 15:11 UTC | newest]

Thread overview: 2+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2012-07-03 10:23 [MAYBE SOLVED] passing modified parameter list to child Ronald Fischer
2012-07-03 15:10 ` Bart Schaefer

Code repositories for project(s) associated with this public inbox

	https://git.vuxu.org/mirror/zsh/

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).