Domanda

Let's say I want to check if the first argument is 2 characters long. I tried

if [ ${#$1} -e 2]

but it doesn't work.

È stato utile?

Soluzione

  • Don't use $ in the parameter expansion
  • Use -eq for numerical comparison
  • Add a space before the ]:

All in all:

if [ ${#1} -eq 2 ]
then
  echo "It's two characters long"
fi
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top