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

Bug#715478: Correctly match *,sec=krb5,*



Am 09.07.2013 16:45, schrieb Bastian Blank:
> On Tue, Jul 09, 2013 at 03:57:08PM +0200, Jan-Marek Glogowski wrote:
>> +        case "$OPTS" in
>> +            sec=krb5|*,sec=krb5|sec=krb5,*|*,sec=krb5,*|\
>> +            sec=krb5i|*,sec=krb5i|sec=krb5i,*|*,sec=krb5i,*|\
>> +            sec=krb5p|*,sec=krb5p|sec=krb5p,*|*,sec=krb5p,*)
> 
> I wonder if something like
> 
> | echo "$OPTS" | awk -F, '{ for (i=1; i<=NF; i++) if ($i ~ /^sec=krb5/) print $i; }'
> 
> would be more rebust, as it properly knows about the field separator
> 
> Bastian
> 
There are also bash regexp and IFS:

        OLDIFS=$IFS
        IFS=","
        for OPT in $OPTS; do
            if [[ $OPT =~ ^sec=krb5[ip]?$ ]]; then
                AUTO_NEED_GSSD=yes
            fi
        done
        IFS=$OLDIFS

Jan-Marek


Reply to: