我正在尝试制作应该像这样使用的shell脚本:
ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
然后,脚本将ocr将图像文件转换为文本文件。到目前为止,这是我想出的:
#!/bin/bash export HOME=/home/kristoffer /usr/local/bin/abbyyocr9 -rl Swedish -if ???fromvalue??? -of ???tovalue??? 2>&1
但是我不知道如何获得-from和-to价值观。关于如何做的任何想法?
-from
-to
您提供给bashscript的参数将出现在变量中$1,$2并且$3数字代表该参数。$0是命令本身。
$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
缺点是您必须以正确的顺序提供它。有一些库可以使在命令行上解析命名参数变得更加容易,但是通常对于简单的shell脚本,如果没有问题,则应该使用简单的方法。
然后,您可以执行以下操作:
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
$1和周围的双引号$2并不总是必需的,但是建议使用双引号,因为如果不将它们放在双引号之间,则某些字符串将不起作用。