Выполнение сценария оболочки прерывается задачами GradleAndroid

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Выполнение сценария оболочки прерывается задачами Gradle

Сообщение Anonymous »

Рассмотрим следующий сценарий оболочки:

Код: Выделить всё

#!/bin/bash

echo Hello
gradle clean
echo Bye
При запуске по файлу ожидаемый результат правильный.

Код: Выделить всё

$ chmod +x script.sh
$ ./script.sh

Hello
BUILD SUCCESSFUL in 1s
1 actionable task: 1 up-to-date
Bye
При запуске через стандартный ввод ожидаемый результат неверен.

Код: Выделить всё

$ cat script.sh | bash -s

Hello
BUILD SUCCESSFUL in 1s
1 actionable task: 1 up-to-date
В случае stdin после запуска gradle clean поток сценария прерывается, завершается с кодом возврата 0 и никогда не достигает следующих команд. Я ищу способ выполнить приведенный выше сценарий с помощью стандартного ввода, потому что я буду использовать канал с завитком, например, завиток -so- http://host/script.sh | bash -s.
Я мог бы решить эту проблему, обернув gradle в новый канал, но я тоже не понимаю, почему это работает:

Код: Выделить всё

#!/bin/bash

echo Hello
echo gradle clean | bash -s
echo Bye
Мне хотелось бы найти аккуратное решение (например, флаг в bash/gradle). Спасибо.


Подробнее здесь: https://stackoverflow.com/questions/790 ... adle-tasks
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»