Извлечение данных из микросервиса для отдыха в Граале

Аргументы, которые вы предоставляете bashscript, будут отображаться в переменных $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

Недостатком является то, что вам нужно будет поставить его в правильном порядке. Существуют библиотеки, которые упрощают анализ именованных аргументов в командной строке, но обычно для простых сценариев оболочки вы должны просто использовать простой способ, если это не проблема.

Тогда вы можете сделать:

/usr/local/bin/abbyyocr9 -rl Swedish -if "$1" -of "$2" 2>&1

Двойные кавычки вокруг $1 и $2 не всегда необходимы, но рекомендуются, потому что некоторые строки не будут работать, если вы не ставите их между двойными кавычками.

0
задан Studentlearner 28 March 2019 в 06:14
поделиться

1 ответ

Вы вызываете метод с именем restBuilder(), и этот метод не существует. Если вы хотите, чтобы это работало, вам нужно реализовать этот метод и заставить его возвращать что-то, что может иметь дело с вызовом post(String, Closure).

Вы, вероятно, намереваетесь использовать класс RestBuilder. Подробности будут зависеть от того, какую версию Grails вы используете, но вы, вероятно, захотите, что-то вроде этого ...

RestBuilder restBuilder = new RestBuilder()
restBuilder.post('http://localhost:2222/api/microservice/fetchData'){
    header 'authorization', 'fdgtertddfgfdgfffffff'
    accept 'application/json'
    json {
        empId = 1
        name = 'test1'
    }
}

Вам может понадобиться добавить зависимость от grails-datastore-rest-client в ваш build.gradle.

compile "org.grails:grails-datastore-rest-client"

Надеюсь, это поможет.

0
ответ дан Jeff Scott Brown 28 March 2019 в 06:14
поделиться
Другие вопросы по тегам:

Похожие вопросы: