Los argumentos que se suministre a un bashscript aparecerán en las variables $1
y $2
y $3
donde el número se refiere al argumento. $0
es el comando en sí.
Los argumentos están separados por espacios, por lo que si proporciona -from
y -to
en 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 -from
y 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 $1
y $2
no siempre son necesarias, pero se recomiendan, porque algunas cadenas no funcionarán si no las pone entre comillas dobles.