Created SC2330 (markdown)

Vidar Holen
2024-05-07 09:41:19 -07:00
parent 4dbf9f7dad
commit 75bb8fab87

36
SC2330.md Normal file

@@ -0,0 +1,36 @@
## BusyBox `[[ .. ]]` does not support glob matching. Use a case statement.
### Problematic code:
```sh
#!/bin/busybox sh
if [[ $1 == https:* ]]
then
echo "Using URL $1"
fi
```
### Correct code:
```sh
#!/bin/busybox sh
case "$1" in
https:*)
echo "Using URL $1"
;;
esac
```
### Rationale:
You are using `[[ .. ]]` in BusyBox `sh` to match against a glob pattern. This is supported in Bash and Ksh, but not in BusyBox.
Rewrite the match to use a `case` statement instead.
### Exceptions:
None.
### Related resources:
* Help by adding links to BashFAQ, StackOverflow, man pages, POSIX, etc!