$[..]in place of
var=$[1 + 2]
var=$((1 + 2))
Your script uses a shell feature not supported by the shebang. Either rewrite the script to be portable, or change the shebang to explicitly require a shell like Bash. In this case,
$[ .. ] can easily be replaced by the POSIX standard arithmetic expansion
$(( .. )).
ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.