help-bash
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: How do we get state of a flag in set -o ...


From: alex xmb ratchev
Subject: Re: How do we get state of a flag in set -o ...
Date: Tue, 11 Jul 2023 23:44:41 +0200

no work

declare -gA a ; a=( $( set -o ) ) ; declare -p a ;
+ declare -gA a                                                   +
a=($(set -o))                                                   ++ set -o
                                                       + declare -p a
                                              declare -A a=([$'allexport
  \toff\nbraceexpand    \ton\nemacs          \ton\nerrexit
\toff\nerrtrace       \toff\nfunctrace      \toff\nhashall
\ton\nhistexpand     \ton\nhistory        \ton\nignoreeof
\toff\ninteractive-comments\ton\nkeyword        \toff\nmonitor
\ton\nnoclobber      \toff\nnoexec         \toff\nnoglob
 \toff\nnolog          \toff\nnotify         \toff\nnounset
\toff\nonecmd         \toff\nphysical       \toff\npipefail
 \toff\nposix          \toff\nprivileged     \toff\nverbose
\toff\nvi             \toff\nxtrace         \ton']="" )
                           ~ $


completly doesnt make sense to me
i parse many times like this
must be bash set app .. issue .. ?

On Tue, Jul 11, 2023, 23:15 alex xmb ratchev <fxmbsw7@gmail.com> wrote:

>
>
> On Tue, Jul 11, 2023, 22:05 Greg Wooledge <greg@wooledge.org> wrote:
>
>> On Wed, Jul 12, 2023 at 02:54:10AM +0700, Budi wrote:
>> > How do we get state of a flag in set -o ... that has no directly alias
>> > set [-+] , e.g.
>> > set -o posix
>> > or
>> > set -o vi
>> > ?
>> >
>> > not, e.g. set -o errexit , as it can be retrieved by echo $-
>>
>> Parse the output of "set -o".
>>
>
> i was trying some simple code but fatally failed
>
> + ret
> ++ set -o
> + a=('allexport         off
> braceexpand     on
> emacs           on
> errexit         off
> errtrace        off
> functrace       off
> hashall         on
> histexpand      on
> history         on
> ignoreeof       off
> interactive-comments    on
> keyword         off                                               monitor
>        on                                                noclobber
>  off                                               noexec          off
>                                          noglob          off
>                                nolog           off
>                      notify          off
>            nounset         off
>  onecmd          off
>  physical        off
> pipefail        off
> posix           off
> privileged      off
> verbose         off
> vi              off
> xtrace          on')
> + declare -gA a
> + declare -p a
> declare -A a=([$'allexport      \toff\nbraceexpand    \ton\nemacs
> \ton\nerrexit        \toff\nerrtrace       \toff\nfunctrace
> \toff\nhashall        \ton\nhistexpand     \ton\nhistory
> \ton\nignoreeof      \toff\ninteractive-comments\ton\nkeyword
> \toff\nmonitor        \ton\nnoclobber      \toff\nnoexec
>  \toff\nnoglob         \toff\nnolog          \toff\nnotify
>  \toff\nnounset        \toff\nonecmd         \toff\nphysical
>  \toff\npipefail       \toff\nposix          \toff\nprivileged
>  \toff\nverbose        \toff\nvi             \toff\nxtrace
>  \ton']="" )
> ~ $ IFS=$' \t\n' ; ret() { declare -gA a=( $( set -o ) ) ; declare -p a ;
> } ; sett() { declare -A m=( off + on - ) ; declare -ga args=( set ) ; for z
> in ${!a[@]} ; do declare -n "v=a[$z]" "mm=m[$v]" ; echo args+= ${mm}o $z  ;
> done ; echo set "${args[@]}" ; } ; ret
>
> i didnt try without declare but ill try
>
> why s that not split
> might be declare issue
>
>>


reply via email to

[Prev in Thread] Current Thread [Next in Thread]