args1() { printf %s\  "${@@K}" ; printf \\n ; } ; args1 echo foo ; args1
echo two three

On Wed, Jun 12, 2024, 10:58 PM alex xmb sw ratchev <fxmb...@gmail.com>
wrote:

> there are two output lines , for the two cmds , sorry gmail problem
>
> On Wed, Jun 12, 2024, 10:57 PM alex xmb sw ratchev <fxmb...@gmail.com>
> wrote:
>
>> ~ $ args1() { printf %s\  "${@@K}" ; printf \\n ; } ; args1 echo foo ;
>> args1 echo two three   'echo' 'foo'
>> 'echo' 'two' 'three'
>> ~ $
>>
>> On Wed, Jun 12, 2024, 10:52 PM alex xmb sw ratchev <fxmb...@gmail.com>
>> wrote:
>>
>>> ~ $ logf=$HOME/alog1 ; run1() { printf '%(%F+%T%z)T %s' -1 "$1"
>>> >>"$logf" ; (( $# > 1 )) && printf \ %s "${@:2}" >>"$logf" ; "$@" ;
>>> >>"$logf" printf \\n ; } ; run1 echo foo ; cat "$logf"
>>> foo
>>> 2024-06-12+22:51:31+0200 echo foo
>>> ~ $
>>>
>>> On Wed, Jun 12, 2024, 10:26 PM Greg Wooledge <g...@wooledge.org> wrote:
>>>
>>>> On Wed, Jun 12, 2024 at 07:31:13PM +0200, Angelo Borsotti wrote:
>>>> > "set -x" makes the ensuing commands be printed, but prefixed
>>>> > with "+ ", which makes the result look ugly, not to mention that
>>>> > the following "set +x" is echoed too (there are hacks to suppress
>>>> > the "set +x" output, but they are just hacks).
>>>>
>>>> If all you want is to remove the "+ ", you can simply set the PS4
>>>> variable to an empty string.
>>>>
>>>> >       set -o log
>>>> >       cat tmp >tmp1        # or any other command
>>>> >       set -o nolog
>>>> >
>>>> > producing the output on the console
>>>> >
>>>> >        cat tmp >tmp1
>>>>
>>>> If you want to retain redirections in the -x output, that's a whole
>>>> different issue.  There is currently no way to do that.  Chet would
>>>> have to implement something.
>>>>
>>>>

Reply via email to