bert wrote: > > On 28.04.2009, at 15:09, p...@laptop.org wrote: > > > bert wrote: > >> > >> On 28.04.2009, at 14:27, p...@laptop.org wrote: > >> > >>> bert wrote: > >>>> .... > >>>> > >>>> Maybe you should use su directly instead of runuser? > >>> > >>> won't that have the same problem? it still wants a command > >>> passed via a -c STRING convention. > >>> > >>> i think this is somewhat intractable, and any time spent on it > >>> would be better spent creating a patch to runuser that lets it > >>> take its command as strace does, or as xterm does with -e, which > >>> avoids the vector->string->vector translations which are the real > >>> issue. > >> > >> > >> No, su passes all arguments after -c to the program you specify. > > > > can you give an example? > > > > $ su root -c /bin/echo one two three > > Password: > > > > $ su root -c '/bin/echo one two three' > > Password: > > one two three > > $ > > > It's not a problem in su but in bash. See "man bash": > > -c string If the -c option is present, then commands are read from > string. If there are arguments after the string, they are > assigned to the positional parameters, starting with $0. > > Note it starts with $0 not $1. So this works: > > $ su root -c '/bin/echo "$@"' /bin/echo one two three
thanks -- i'd never seen that done before. (and it certainly wasn't possible with the original shells.) whenever someone teaches me something like that, i always wonder how long ago i missed the memo announcing the new feature. :-) martin: switch from runuser to su, just like bert said. :-) paul =--------------------- paul fox, p...@laptop.org _______________________________________________ Devel mailing list Devel@lists.laptop.org http://lists.laptop.org/listinfo/devel