On Aug 15, 9:33pm, idler...@fastmail.fm ("Ian D. Leroux") wrote: -- Subject: Re: Fixing swap1_stop
| On Tue, 15 Aug 2017 02:11:37 -0400 chris...@zoulas.com (Christos | Zoulas) wrote: | | > On Aug 14, 10:50am, idler...@fastmail.fm ("Ian D. Leroux") wrote: | > -- Subject: Re: Fixing swap1_stop | > | > | Any preferences for a conveniently-parseable format? My first | > | instinct is to simply drop the spacer words ("on", "type"), | > | systematically shquote() the device and mount-point and | > | space-separate the flags. That would look like: | > | | > | '/dev/wd0a' '/' ffs synchronous local | > | 'tmpfs' '/var/shm' tmpfs nosuid local | > | > The flags can be complicated (see source code) | > | > | That's directly parseable in shell (first three fields are device, | > | mount point and fstype, any leftovers are individual flags) and | > | doesn't require the design of another date-style formatting | > | language. Are there other, better ideas? | > | > We can specify a format with % escapes for each field... | | I was hoping to avoid being guilty of yet another printf-style | mini-language. But I don't currently have any better ideas, so let's | work this one out. The filesystem, mount point and device get an | escape each (say %f, %m and %d respectively). How should the flags be | handled? One escape for the whole comma-separate flag string (as in | the current output)? That's easy to implement and manageable to work | with, since the flag names are well-behaved single words that are not | under user control, so they could be parsed with shell globs, something | like: | | FLAGS=$(mount -F '%F') | case $FLAGS in | *local*) # do local filesystem stuff | ;; | *nosuid*) | ;; | esac | | Alternatively, each flag could get its own % escape (perhaps one that | expands to "yes" or "no"), but that makes it harder to write a format | string that reproduces the default output. | | I don't currently have a use for extracting the flag information (since | my immediate interest is just in getting a reliable mount point name), | so I'm not sure which format is most useful in practice. Lets put all the flags together as a comma separated list? christos