[PATCH 3/4] base-files/functions.sh: replace ^ with ! in []

Rosen Penev rosenp at gmail.com
Sun Sep 20 01:31:39 EDT 2020


Strictly speaking, ash does not support it.

>From https://wiki.ubuntu.com/DashAsBinSh#A.5B.5E.5D :

Not to be confused by sed's and other program's regular expression
syntax. Uses of [^] in case (parameter/word expansion in general) need
to be replaced with [!].

Found with shellcheck: https://github.com/koalaman/shellcheck/wiki/SC2169

Signed-off-by: Rosen Penev <rosenp at gmail.com>
---
 package/base-files/files/lib/functions.sh | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/package/base-files/files/lib/functions.sh b/package/base-files/files/lib/functions.sh
index 0f56387244..a7ff50cb1a 100755
--- a/package/base-files/files/lib/functions.sh
+++ b/package/base-files/files/lib/functions.sh
@@ -108,7 +108,7 @@ config_unset() {
 # config_get <section> <option>
 config_get() {
 	case "$2${3:-$1}" in
-		*[^A-Za-z0-9_]*) : ;;
+		*[!A-Za-z0-9_]*) : ;;
 		*)
 			case "$3" in
 				"") eval echo "\"\${CONFIG_${1}_${2}:-\${4}}\"";;
-- 
2.26.2




More information about the openwrt-devel mailing list