Die Argumente, die Sie für ein Bashscript angeben, werden in den Variablen angezeigt $1und $2und $3wo sich die Nummer auf das Argument bezieht. $0ist der Befehl selbst.
Die Argumente sind durch Leerzeichen getrennt. Wenn Sie also das -fromund -toim Befehl angeben, werden sie auch in diesen Variablen angezeigt.
./ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
Du wirst kriegen:
$0 # ocrscript.sh
$1 # -from
$2 # /home/kristoffer/test.png
$3 # -to
$4 # /home/kristoffer/test.txt
Es könnte einfacher sein, das -fromund das wegzulassen -to, wie:
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
Dann haben Sie:
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
Der Nachteil ist, dass Sie es in der richtigen Reihenfolge liefern müssen. Es gibt Bibliotheken, die es einfacher machen können, benannte Argumente in der Befehlszeile zu analysieren, aber normalerweise sollten Sie für einfache Shell-Skripte nur den einfachen Weg verwenden, wenn dies kein Problem darstellt.
Dann können Sie tun:
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
Die doppelten Anführungszeichen um $1und und $2sind nicht immer erforderlich, werden jedoch empfohlen, da einige Zeichenfolgen nicht funktionieren, wenn Sie sie nicht zwischen doppelte Anführungszeichen setzen.