Аргументи , які ви надаєте в bashscript з'являться в змінних $1
і $2
і $3
де число відноситься до аргументу. $0
- це сама команда.
Аргументи розділені пробілами, тож якщо ви надасте команду -from
і і -to
в команді, вони також опиняться в цих змінних, тому для цього:
./ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
Ви отримаєте:
$0 # ocrscript.sh
$1 # -from
$2 # /home/kristoffer/test.png
$3 # -to
$4 # /home/kristoffer/test.txt
Можливо, буде простіше опустити -from
та -to
, як-от:
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
Тоді у вас буде:
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
Мінус полягає в тому, що вам доведеться постачати його в правильному порядку. Є бібліотеки, які можуть полегшити розбір іменних аргументів у командному рядку, але зазвичай для простих скриптів оболонки слід просто використовувати простий спосіб, якщо це не проблема.
Тоді ви можете зробити:
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
Подвійні лапки навколо $1
та $2
не завжди потрібні, але вони вводяться, оскільки деякі рядки не працюватимуть, якщо ви не розмістите їх між подвійними лапками.