On Mon, Sep 26, 2011 at 10:46:57PM -0500, Dan McGee wrote: > On Mon, Sep 26, 2011 at 8:22 PM, Dave Reisner <d...@falconindy.com> wrote: > > Without specifying this, xargs will split arguments on whitespace as > > well as newlines, and will interpret quoting and backslashes. When the > > delimiter is specified, every character is taken literally and only the > > given delimiter in honored. > > > > This sidesteps issues with broken modalias files as evidenced by a > > MacBookAir3,1 or the bbs thread below: > > > > https://bbs.archlinux.org/viewtopic.php?pid=971853 > > > > Also fixes FS#25450. > > > > Signed-off-by: Dave Reisner <dreis...@archlinux.org> > > --- > > functions | 2 +- > > 1 files changed, 1 insertions(+), 1 deletions(-) > > > > diff --git a/functions b/functions > > index 8ce24ea..7f9202f 100644 > > --- a/functions > > +++ b/functions > > @@ -117,7 +117,7 @@ auto_modules() { > > > > IFS=$'\n' read -rd '' -a mods < \ > > <(find /sys/devices -name modalias -exec sort -u {} + | > > - xargs modprobe -d "$BASEDIR" -aRS "$KERNELVERSION" | > > + xargs -d $'\n' modprobe -d "$BASEDIR" -aRS "$KERNELVERSION" | > Dollar sign what? /me doesn't follow this at all, a comment would be great.
consult your manual, sir! Words of the form $'string' are treated specially. The word expands to string, with backslash-escaped characters replaced as specified by the ANSI C standard. Backslash escape sequences, if present, are decoded. In other words, its expanded in place. Yeah, this seems elementary to me, but I suppose its comment worthy. > > sort -u) > > > > printf "%s\n" "${mods[@]//-/_}" > > -- > > 1.7.6.4 > > > >