|
1 | 1 | #!/bin/bash
|
2 | 2 | # interpret Interleaved 2/5 barcode 58 byte barcode values used by the ProBell tape management system
|
3 | 3 |
|
4 |
| -scriptdir=$(dirname "${0}") |
5 |
| -. "${scriptdir}/mmfunctions" || { echo "Missing '${scriptdir}/mmfunctions'. Exiting." ; exit 1 ;}; |
| 4 | +SCRIPTDIR=$(dirname "${0}") |
| 5 | +. "${SCRIPTDIR}/mmfunctions" || { echo "Missing '${SCRIPTDIR}/mmfunctions'. Exiting." ; exit 1 ;}; |
6 | 6 |
|
7 |
| -cleanup(){ |
| 7 | +_cleanup(){ |
8 | 8 | _log -a "Process aborted"
|
9 | 9 | exit 1
|
10 | 10 | }
|
11 | 11 |
|
12 |
| -trap cleanup SIGHUP SIGINT SIGTERM |
| 12 | +trap _cleanup SIGHUP SIGINT SIGTERM |
13 | 13 | _log -b
|
14 | 14 |
|
15 |
| -if test $# != 1 ; then |
| 15 | +if test "${#}" != 1 ; then |
16 | 16 | echo "You must supply one argument, a scanned interleaved 2/5 barcode value"; exit
|
17 | 17 | fi
|
18 | 18 |
|
19 |
| -barcode="${1}" |
| 19 | +BARCODE="${1}" |
20 | 20 |
|
21 | 21 | translatebyte()
|
22 | 22 | {
|
23 |
| - val=$(echo $1 | echo $(cut -c $2-$3) + 32 | bc) |
24 |
| - if [ "$val" = 131 ] ; then |
25 |
| - echo 9 | awk '{printf("%c", $0);}' |
| 23 | + VAL=$(echo $1 | echo $(cut -c $2-$3) + 32 | bc) |
| 24 | + if [ "${VAL}" = 131 ] ; then |
| 25 | + echo 9 | awk '{printf("%c", ${0});}' |
26 | 26 | else
|
27 |
| - echo $val | awk '{printf("%c", $0);}' |
| 27 | + echo "${VAL}" | awk '{printf("%c", ${0});}' |
28 | 28 | fi
|
29 | 29 | }
|
30 |
| -addcolons() |
| 30 | +_addcolons() |
31 | 31 | {
|
32 |
| - echo $(echo $1 | cut -c 1-2):$(echo $1 | cut -c 3-4):$(echo $1 | cut -c 5-6):$(echo $1 | cut -c 7-8) |
| 32 | + echo $(echo "${1}" | cut -c 1-2):$(echo "${1}" | cut -c 3-4):$(echo "${1}" | cut -c 5-6):$(echo "${1}" | cut -c 7-8) |
33 | 33 | }
|
34 | 34 |
|
35 |
| -get_ids() |
| 35 | +_get_ids() |
36 | 36 | {
|
37 |
| - barcode=$1 |
38 |
| - c00=$(translatebyte $barcode 2 3) |
39 |
| - c01=$(translatebyte $barcode 4 5) |
40 |
| - c02=$(translatebyte $barcode 6 7) |
41 |
| - c03=$(translatebyte $barcode 8 9) |
42 |
| - c04=$(translatebyte $barcode 10 11) |
43 |
| - c05=$(translatebyte $barcode 12 13) |
44 |
| - c06=$(translatebyte $barcode 14 15) |
45 |
| - c07=$(translatebyte $barcode 16 17) |
46 |
| - c08=$(translatebyte $barcode 18 19) |
47 |
| - c09=$(translatebyte $barcode 20 21) |
48 |
| - c10=$(translatebyte $barcode 22 23) |
49 |
| - c11=$(translatebyte $barcode 24 25) |
50 |
| - c12=$(translatebyte $barcode 26 27) |
51 |
| - c13=$(translatebyte $barcode 28 29) |
52 |
| - c14=$(translatebyte $barcode 30 31) |
53 |
| - c15=$(translatebyte $barcode 32 33) |
54 |
| - c16=$(translatebyte $barcode 34 35) |
55 |
| - c17=$(translatebyte $barcode 36 37) |
56 |
| - c18=$(translatebyte $barcode 38 39) |
57 |
| - c19=$(translatebyte $barcode 40 41) |
58 |
| - echo $c00$c01$c02$c03$c04$c05$c06$c07$c08$c09$c10$c11$c12$c13$c14$c15$c16$c17$c18$c19 |
| 37 | + BARCODE=$1 |
| 38 | + c00=$(translatebyte "${BARCODE}" 2 3) |
| 39 | + c01=$(translatebyte "${BARCODE}" 4 5) |
| 40 | + c02=$(translatebyte "${BARCODE}" 6 7) |
| 41 | + c03=$(translatebyte "${BARCODE}" 8 9) |
| 42 | + c04=$(translatebyte "${BARCODE}" 10 11) |
| 43 | + c05=$(translatebyte "${BARCODE}" 12 13) |
| 44 | + c06=$(translatebyte "${BARCODE}" 14 15) |
| 45 | + c07=$(translatebyte "${BARCODE}" 16 17) |
| 46 | + c08=$(translatebyte "${BARCODE}" 18 19) |
| 47 | + c09=$(translatebyte "${BARCODE}" 20 21) |
| 48 | + c10=$(translatebyte "${BARCODE}" 22 23) |
| 49 | + c11=$(translatebyte "${BARCODE}" 24 25) |
| 50 | + c12=$(translatebyte "${BARCODE}" 26 27) |
| 51 | + c13=$(translatebyte "${BARCODE}" 28 29) |
| 52 | + c14=$(translatebyte "${BARCODE}" 30 31) |
| 53 | + c15=$(translatebyte "${BARCODE}" 32 33) |
| 54 | + c16=$(translatebyte "${BARCODE}" 34 35) |
| 55 | + c17=$(translatebyte "${BARCODE}" 36 37) |
| 56 | + c18=$(translatebyte "${BARCODE}" 38 39) |
| 57 | + c19=$(translatebyte "${BARCODE}" 40 41) |
| 58 | + echo "${c00$c01$c02$c03$c04$c05$c06$c07$c08$c09$c10$c11$c12$c13$c14$c15$c16$c17$c18$c19}" |
59 | 59 | }
|
60 | 60 |
|
61 |
| -ids=$(get_ids $barcode) |
| 61 | +IDS=$(_get_ids "${BARCODE}") |
62 | 62 |
|
63 |
| -materialid=$(echo $ids | cut -d ' ' -f 2) |
64 |
| -if [[ $(echo "$materialid" | tail -c +9 | head -c 1) == "H" ]] ; then |
65 |
| - materialid="${materialid}D" |
| 63 | +MATERIALID=$(echo "${IDS}" | cut -d ' ' -f 2) |
| 64 | +if [[ $(echo "${MATERIALID}" | tail -c +9 | head -c 1) == "H" ]] ; then |
| 65 | + MATERIALID="${MATERIALID}D" |
66 | 66 | fi
|
67 |
| -echo deviceid,$(echo $ids | cut -d ' ' -f 1),materialid,$materialid,som,$(addcolons $(echo $barcode | cut -c 42-49)),duration,$(addcolons $(echo $barcode | cut -c 50-57)) |
| 67 | +echo DEVICEID,$(echo "${IDS}" | cut -d ' ' -f 1),MATERIALID,${MATERIALID},SOM,$(_addcolons $(echo "${BARCODE}" | cut -c 42-49)),duration,$(_addcolons $(echo "${BARCODE}" | cut -c 50-57)) |
68 | 68 | _log -e
|
0 commit comments