On Sun, 20 Mar 2016 07:02:26 +0700 Robert Elz <kre%munnari.OZ.AU@localhost> wrote:
>     Date:        Sat, 19 Mar 2016 21:37:03 +0100
>     From:        "Ian D. Leroux" <idleroux%fastmail.fm@localhost>
>     Message-ID:  <20160319213703.0ed2bfa10139f9c700a4b161%fastmail.fm@localhost>
> 
>   | Surely there
>   | has to be a better, less brittle way of getting the required
>   | information.  Can anyone give me a hint as to what it might be?
> 
> try
> 	eval set -- $( mount -t tmpfs | while read -r line; do
>                       fs=${line#tmpfs on }; fs=${fs% type tmpfs*};
>                       echo "'${fs}'"; done )
> 
> after which "$@" should be the tmpfs moounted filesystems, even if
> they contain odd characters (including spaces).
Thanks for the example code, which helped me identify and clear up a
bunch of my misconceptions about the Bourne shell's parsing behaviour.
The latest set of patches are attached.  This version uses no magic
values: $swapoff_umount is used to choose between auto or manual
selection of the filesystems to unmount, and $swapoff_umount_fs is used
for the list of mount points when manually specified.  I've tested that
the auto-selection is robust against spaces and tabs in filenames, and
I expect it to handle odd characters other than single-quote.  In the
pathological case where a path to a tmpfs mount point contains a
single-quote character, it could be specified manually with appropriate
escaping.
Further suggestions?
--
IDL
Attachment:
manpage.patch
Description: Binary data
Attachment:
rc.conf.patch
Description: Binary data
Attachment:
swap1.patch
Description: Binary data