SC2000 – ShellCheck Wiki

See this page on GitHub

Sitemap


See if you can use ${#variable} instead

${#variable} will be equal to the number of characters in "${variable}"

This is the same result as "$( echo "$variable" | wc -m )" When "$variable" only contains single-byte characters, it's also the same as "$( echo "$variable" | wc -c )"

example code

#!/usr/bin/env  bash

if [ "$( echo "$1" | wc -c )" -gt 1 ]; then
  echo "greater than 1"
fi

if [ "$( echo "$1" | wc -m )" -gt 1 ]; then
  echo "greater than 1"
fi

if [ "${#1}" -gt 1 ]; then
  echo "greater than 1"
fi

ShellCheck is a static analysis tool for shell scripts. This page is part of its documentation.