Depuis https://www.gnu.org/software/bash/manual/html_node/Special-Parameters.html
$#
Développe le nombre de paramètres positionnels en décimal.
$?
S'étend jusqu'au statut de sortie du pipeline de premier plan le plus récemment exécuté.
De Learn Bash en Y minutes :
# Builtin variables:
# There are some useful builtin variables, like
echo "Last program's return value: $?"
echo "Script's PID: $$"
echo "Number of arguments passed to script: $#"
echo "All arguments passed to script: [email protected]"
echo "The script's name: $0"
echo "Script's arguments separated into different variables: $1 $2..."
$#
affiche le nombre d'arguments du script$?
affiche la valeur de retour du dernier script
à propos des arguments :echo "ARG[$#]"
avant if
puis exécutez le script comme
script.sh 1
la sortie sera
ARG[1]
Usage: g old-pattern new-pattern filename
et ainsi de suite
la sortie de $?
peut également être utilisé sur la ligne de commande :
#shell>ls
file1.txt g inpu nodes_list
#shell>echo $?
0
#shell>ls FileNameNotFound
ls: FileNameNotFound: No such file or directory
#shell> echo $?
1