Argumenty, które dostarczają do bashscript pojawi się w zmiennych $1
i $2
oraz $3
gdzie liczba odnosi się do argumentu.$0
to samo polecenie.
Argumenty są oddzielone spacjami, więc jeśli podasz -from
i -to
w poleceniu, znajdą się one również w tych zmiennych, więc w tym przypadku:
./ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
Dostaniesz:
$0 # ocrscript.sh
$1 # -from
$2 # /home/kristoffer/test.png
$3 # -to
$4 # /home/kristoffer/test.txt
Łatwiej byłoby pominąć -from
i -to
, na przykład:
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
Wtedy będziesz miał:
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
Wadą jest to, że będziesz musiał dostarczyć go we właściwej kolejności. Istnieją biblioteki, które mogą ułatwić analizowanie nazwanych argumentów w wierszu poleceń, ale zwykle w przypadku prostych skryptów powłoki powinieneś po prostu użyć prostego sposobu, jeśli nie stanowi to problemu.
Następnie możesz:
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
Podwójne cudzysłowy wokół $1
i $2
nie zawsze są konieczne, ale są adviced, ponieważ niektóre ciągi nie będzie działać, jeśli nie umieścić je między cudzysłów.