Argumenty podane w bashscriptu pojawią się w zmiennych $1
i $2
i $3
, gdzie liczba odnosi się do argumentu. $0
to samo polecenie.
Argumenty są rozdzielone spacjami, więc jeśli chcesz zapewnić -from
i -to
w poleceniu, będą one skończyć w tych zmiennych też, więc na to:
./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
To może być łatwiej pominąć -from
i tym -to
, jak:
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
Wtedy będziesz mieć:
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
Minusem jest to, że będziesz musiał dostarczyć je w odpowiedniej kolejności. Istnieją biblioteki, które mogą ułatwić analizowanie nazwanych argumentów w wierszu poleceń, ale zazwyczaj w przypadku prostych skryptów powłoki powinieneś po prostu użyć łatwej metody, jeśli nie stanowi to problemu.
Następnie można zrobić:
/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 .
powinieneś przeczytać http://tldp.org/LDP/Bash-Beginners-Guide/html/Bash-Beginners-Guide.html –
To jest znacznie lepszy post na ten temat: [Jak analizować argumenty wiersza poleceń w bash?] (http://stackoverflow.com/questions/18003370/script-parameters-in-bash) –