tag 22045 notabug close 22045 stop On 28/11/15 20:47, Matthias Klose wrote: > found with coreutils-8.23, expr substr returns with an error code when the > substring consists of only '0' characters, and the match is started at > position 1. > > $ expr substr 00001234 3 4; echo $? > 0012 > 0 > $ expr substr 1234 1 2; echo $? > 12 > 0 > > $ expr substr 00001234 1 2; echo $? > 00 > 1 > $ expr substr 00001234 1 4; echo $? > 0000 > 1 > $ expr substr 00001234 1 5; echo $? > 00001 > 0
This is a common gotcha. POSIX states that: exit status of 1 is used if "the expression evaluates to null or zero". I must collate some gotchas like this. cheers, Pádraig.
