Package: devscripts Version: 2.10.37 Severity: normal Tags: patch Hi, checkbashisms doesn't notice a brace expansion if either of the components of the brace is empty. For example,
% cat test.sh
#!/bin/sh
cp foo{,baz}
% touch foo
% dash test.sh
cp: missing destination file operand after `foo{,baz}'
Try `cp --help' for more information.
% bash test.sh
% checkbashisms test.sh
%
The attached patch against devscripts SVN appears to fix this problem for
me.
Regards,
--
Jonny Lamb, UK [EMAIL PROTECTED]
http://jonnylamb.com GPG: 0x2E039402
Index: checkbashisms.pl
===================================================================
--- checkbashisms.pl (revision 1649)
+++ checkbashisms.pl (working copy)
@@ -451,7 +451,7 @@
q<should be 'b = a'>,
qr'\[\s+[^\]]+\s+==\s' => q<should be 'b = a'>,
qr'\s\|\&' => q<pipelining is not POSIX>,
- qr'[^\\\$]\{([^\s\\\}]+?,)+[^\\\}\s]+\}' =>
+ qr'[^\\\$]\{([^\s\\\}]*?,)+[^\\\}\s]*\}' =>
q<brace expansion>,
qr'(?:^|\s+)\w+\[\d+\]=' => q<bash arrays, H[0]>,
$LEADIN . qr'read\s+(?:-[a-qs-zA-Z\d-]+)' => q<read with option other
than -r>,
signature.asc
Description: Digital signature

