Những lập luận rằng bạn cung cấp cho một bashscript sẽ xuất hiện trong các biến $1
và $2
và $3
có số đề cập đến cuộc tranh cãi. $0
là lệnh chính nó.
Các đối số được phân tách bằng dấu cách, vì vậy nếu bạn cung cấp -from
và -to
trong lệnh, chúng cũng sẽ kết thúc bằng các biến này, vì vậy đối với điều này:
./ocrscript.sh -from /home/kristoffer/test.png -to /home/kristoffer/test.txt
Bạn sẽ nhận được:
$0 # ocrscript.sh
$1 # -from
$2 # /home/kristoffer/test.png
$3 # -to
$4 # /home/kristoffer/test.txt
Có thể dễ dàng hơn để bỏ qua -from
và những -to
, như:
ocrscript.sh /home/kristoffer/test.png /home/kristoffer/test.txt
Sau đó, bạn sẽ có:
$1 # /home/kristoffer/test.png
$2 # /home/kristoffer/test.txt
Nhược điểm là bạn sẽ phải cung cấp nó theo đúng thứ tự. Có những thư viện có thể giúp phân tích cú pháp các đối số có tên trên dòng lệnh dễ dàng hơn, nhưng thông thường đối với các tập lệnh shell đơn giản, bạn chỉ nên sử dụng cách dễ dàng, nếu không có vấn đề gì.
Sau đó, bạn có thể làm:
/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1
Các dấu ngoặc kép xung quanh $1
và $2
không phải lúc nào cũng cần thiết nhưng được khuyến khích, bởi vì một số chuỗi sẽ không hoạt động nếu bạn không đặt chúng giữa dấu ngoặc kép.