set -- 1 2 3 4 5 6 7 8 9 10 11 12 13 [ "${##1}" = 3 ] || echo '${##1} wrong' [ "${###1}" = 3 ] || echo '${###1} wrong' [ "${###}" = 13 ] || echo '${###} wrong' [ "${#%3}" = 1 ] || echo '${#%3} wrong' [ "${#%%3}" = 1 ] || echo '${#%%3} wrong' [ "${#%%}" = 13 ] || echo '${#%%} wrong' set -- [ "${##0}" = "" ] || echo '${##0} wrong' [ "${###0}" = "" ] || echo '${###0} wrong' [ "${###}" = 0 ] || echo '${###} wrong' [ "${#%0}" = "" ] || echo '${#%0} wrong' [ "${#%%0}" = "" ] || echo '${#%%0} wrong' [ "${#%%}" = 0 ] || echo '${#%%} wrong'