On 8/23/17 9:34 AM, Greg Wooledge wrote:
> On Wed, Aug 23, 2017 at 04:22:09PM +0300, Pierre Gaston wrote:
>>  testfile () {
>>     local OPTIND=1 f=${!#}
>>     while getopts abcdefghLkprsSuwxOGN opt;
>>           do
>>              case $opt in
>>                [abcdefghLkprsSuwxOGN]) test -$opt $f  || return 1;;
> 
> "$f"
> 
>>                *)return 1;;
>>              esac;
>>            done
>>  }
>>
>> if testfile -fx file;then.
> 
> Add the quotes, make opt local too, and I think we have a winner.
This has the advantage of supporting both syntax options: a single
option with multiple operators or a series of options, each with one
or more operators, combined with a single operand.

-- 
``The lyf so short, the craft so long to lerne.'' - Chaucer
                 ``Ars longa, vita brevis'' - Hippocrates
Chet Ramey, UTech, CWRU    c...@case.edu    http://cnswww.cns.cwru.edu/~chet/

Reply via email to