Los argumentos que se suministre a un bashscript aparecerán en las variables $1y $2y $3donde el número se refiere al argumento. $0es el comando en sí.
Los argumentos están separados por espacios, por lo que si proporciona -fromy -toen el comando, también terminarán en estas variables, por lo que para esto:
./ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
Obtendrás:
$0 # ocrscript.sh
$1 # -from
$2 # /home/kristoffer/test.png
$3 # -to
$4 # /home/kristoffer/test.txt
Podría ser más fácil omitir el -fromy el -to, como:
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
Entonces tendrás:
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
La desventaja es que tendrás que suministrarlo en el orden correcto. Hay bibliotecas que pueden facilitar el análisis de los argumentos con nombre en la línea de comandos, pero generalmente para scripts de shell simples, debe usar la forma fácil, si no hay problema.
Entonces puedes hacer:
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
Las comillas dobles alrededor de $1y $2no siempre son necesarias, pero se recomiendan, porque algunas cadenas no funcionarán si no las pone entre comillas dobles.