[PATCH v1 1/1] test-lint: echo -e (or -E) is not portable
- From
tboegi@web.de <tboegi@web.de>
- Date
- Sep 17, 2017, 05:43 UTC
- Message-ID
- <20170917054318.28560-1-tboegi@web.de>
- In-Reply-To
- <ce17a042-91e4-bf84-d9e6-36a9e99f3644@web.de>
From: Torsten Bögershausen <tboegi@web.de>
Some implementations of `echo` support the '-e' option to enable backslash interpretation of the following string. As an addition, they support '-E' to turn it off.
However, none of these are portable, POSIX doesn't even mention them, and many implementations don't support them.
A check for '-n' is already done in check-non-portable-shell.pl, extend it to cover '-n', '-e' or '-E-'
Signed-off-by: Torsten Bögershausen <tboegi@web.de> --- t/check-non-portable-shell.pl | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/t/check-non-portable-shell.pl b/t/check-non-portable-shell.pl index b170cbc045..03dc9d2852 100755 --- a/t/check-non-portable-shell.pl +++ b/t/check-non-portable-shell.pl @@ -17,7 +17,7 @@ sub err { while (<>) { chomp; /\bsed\s+-i/ and err 'sed -i is not portable'; - /\becho\s+-n/ and err 'echo -n is not portable (please use printf)'; + /\becho\s+-[neE]/ and err 'echo with option is not portable (please use printf)'; /^\s*declare\s+/ and err 'arrays/declare not portable'; /^\s*[^#]\s*which\s/ and err 'which is not portable (please use type)'; /\btest\s+[^=]*==/ and err '"test a == b" is not portable (please use =)';
-- 2.14.1.145.gb3622a4ee9