Les arguments que vous fournissez à un bashscript apparaîtront dans les variables $1
et $2
et $3
où le nombre fait référence à l'argument. $0
est la commande elle-même.
Les arguments sont séparés par des espaces, donc si vous fournissez le -from
et -to
dans la commande, ils finiront également dans ces variables, donc pour ceci:
./ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
Tu auras:
$0 # ocrscript.sh
$1 # -from
$2 # /home/kristoffer/test.png
$3 # -to
$4 # /home/kristoffer/test.txt
Il peut être plus facile d'omettre le -from
et le -to
, comme:
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
Ensuite, vous aurez:
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
L'inconvénient est que vous devrez le fournir dans le bon ordre. Il existe des bibliothèques qui peuvent faciliter l'analyse des arguments nommés sur la ligne de commande, mais généralement pour les scripts shell simples, vous devez simplement utiliser la méthode la plus simple, si cela ne pose aucun problème.
Ensuite, vous pouvez faire:
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
Les guillemets doubles autour du $1
et du $2
ne sont pas toujours nécessaires mais sont conseillés, car certaines chaînes ne fonctionneront pas si vous ne les mettez pas entre guillemets doubles.