Bash: tester si une variable est un nombre

Bonjour,
Dans un script bash, comment tester si une variable est un nombre (entier)?

J’imagine lancer une opération arithmétique et tester la réussite, mais ça me semble une solution bien tordue.
N’existe-t-il pas un test spécifique?

J’ai testé ceci

for i in "$1" "$2" ; do
  if [[ ! "$i" =~\ [0..9\]?\[0..9\]* ]] ;
  then
    echo "$i n'est pas un nombre entier"
    exit 1
  else  
    UN="$1"
    DE="$2"
  fi
done

qui renvoie toujours faux…

J’ai trouvé, ici:

https://www.developpez.net/forums/d363498/systemes/linux/shell-commandes-gnu/script-bash-tester-1-numerique/

if [[ $var = +([0-9]) ]] ; then

Merci Yatta,
j’avais oublié d’envoyer la solution trouvée avec cette autre syntaxe.

Les deux sont intéressantes à étudier pour me permettre de progresser un peu.