Here is a draft which works fine for normal mount points: http://cr.opensolaris.org/~pavelf/6778894-v2/
It uses sh(1) pattern matching features: sh(1) case word in [ pattern [ | pattern ] ) list ;; ] ... esac A case command executes the list associated with the first pattern that matches word. The form of the pat- terns is the same as that used for file-name generation (see File Name Generation section), except that a slash, a leading dot, or a dot immediately following a slash need not be matched explicitly. ================= This solution is vulnerable to e.g. * expansion: $ mkdir /\* $ mount server:/export /\* $ umountall -l Nothing will be unmounted since every mountpoint will match against '/*' and will be considered as a NFS mountpoint. I do not expect that sysadmins use often '*' in names for mountpoints, but such solution is not acceptable. Any suggestions how to implement a robust grep in a shell? --Pavel Nicolas Williams wrote: > On Tue, Dec 16, 2008 at 09:31:14PM +0100, Pavel Filipensky wrote: > >> If you provide a path to df it will use realpath() -> resolvepath(2) : >> >> $ truss df -n /WWW >> resolvepath("/WWW", "/WWW", 1024) = 4 >> > > Ah! > > >> But the point was to specify the path (mountpoint) to df, without it we >> do not get any advantage from using df. >> So we must parse the /etc/mnttab anyway. >> > > OK. Glad I asked! > > Nico >