some shell script stylisms
Robert P. J. Day
as i claw my way through the QEMU stuff in yocto, some pedantic
thoughts on how to make the shell scripts more readable, so more observations from the "runqemu" script. * all those multiple "echo" lines would look a lot nicer if replaced by a single "here document", don't you think? * extracting the filename extension doesn't need a pipe and an invocation of "awk". how about just EXT=${filename##*.} * what's with the slashes in the "case" pattern matching? case /$EXT/ in /bin/) # A file ending in .bin is a kernel [ -z "$KERNEL" ] && KERNEL=$filename || \ error "conflicting KERNEL args [$KERNEL] and [$filename]" ;; /ext[234]/|/jffs2/|/btrfs/) ... snip ... is there something weird about slashes in case pattern matching i've never seen? it's certainly not used later: case "$arg" in "qemux86" | "qemux86-64" | "qemuarm" | "qemumips" | "qemumips64" | "qemush4" | "qemuppc") [ -z "$MACHINE" ] && MACHINE=$arg || \ error "conflicting MACHINE types [$MACHINE] and [$arg]" ;; "ext2" | "ext3" | "jffs2" | "nfs" | "btrfs") ... snip ... where those "ext?" patterns could be combined the way they were earlier. or, again, is there something subtle happening here i'm just not seeing? back to work ... rday -- ======================================================================== Robert P. J. Day Ottawa, Ontario, CANADA http://crashcourse.ca Twitter: http://twitter.com/rpjday LinkedIn: http://ca.linkedin.com/in/rpjday ======================================================================== |
|