81 votes

Les arguments de la ligne de commande

Je veux écrire un script bash qui prend différents arguments. Il devrait être utilisé comme un programme de console Linux normal:

 my_bash_script -p 2 -l 5 -t 20
 

Donc, la valeur 2 doit être enregistrée dans une variable appelée pages et le paramètre l doit être enregistré dans une variable appelée longueur et la valeur 20 doit être enregistrée dans un temps variable.

Quelle est la meilleure façon de procéder?

128voto

Theodros Zelleke Points 5536

Utilisez le getopts -builtin
voici un tutoriel

 pages=  length=  time=

while getopts p:l:t: opt; do
  case $opt in
  p)
      pages=$OPTARG
      ;;
  l)
      length=$OPTARG
      ;;
  t)
      time=$OPTARG
      ;;
  esac
done

shift $((OPTIND - 1))
 

shift $((OPTIND - 1)) décale les paramètres de ligne de commande afin que vous puissiez accéder aux arguments possibles de votre script, c'est-à-dire $1, $2, ...

13voto

Jo So Points 4602
de définition de ft2() n'est pas incluse dans le contexte de

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X