Skip to content
Joachim Ansorg edited this page Nov 12, 2021 · 4 revisions

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

Each individual ShellCheck warning has its own wiki page like SC1000. Use GitHub Wiki's "Pages" feature above to find a specific one, or see Checks.

Clone this wiki locally