Выйдите из терминала после dd завершенная команда

сначала жаль о плохом английском языке. Во-вторых, я создаю клонирование инструменты. Я использую команду

sudo mate-terminal --geometry=50x10 -x sh -c "sudo dd if=/dev/sda of=/dev/sdb status=progress; bash"

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

Проблема теперь, я использую устройство сенсорного экрана для создания, это оснащает и после того, как клонирование завершено терминальная привычка автоматический выход. Пользователь должен нажать "x" кнопку для закрытия терминала, и это было бы проблемой, потому что я использую 3,5" дисплея с сенсорным экраном, и может быть довольно трудно нажать на "x" кнопку на маленьком сенсорном экране. Когда процесс клонирования сделан, он отображает это на терминале

Я уже попробовал

exec ./clone.sh

и

./clone.sh && exit

и

./clone; exit

Но весь сбой.

Для Вашей информации команда является ссылкой на кнопку, таким образом, моя команда похожа на это

(action)./clone.sh && exit(/action)

Кто-либо может помочь мне?

2
задан 6 October 2016 в 11:51

1 ответ

Причина терминал остается открытым, состоит в том, что Вы говорите ему работать эти dd команда и затем запускать новый экземпляр удара. Если Вы удалите bash из конца команды, то порожденный терминал исчезнет, как Вы ожидаете.

кроме того, нет никакой причины работать dd с sudo, если Вы уже выполняете терминал с sudo. Только одна из двух потребностей, которые будут выполнены с sudo, какой ваше дело. Вам также не нужно sh -c, так как Вы только хотите выполнить единственную команду. Просто используйте -x непосредственно.

Так, беря все это вместе, что Вы ищете:

sudo mate-terminal --geometry=50x10 -x dd if=/dev/sda of=/dev/sdb status=progress
<час>

ВАЖНЫЙ : кому-либо еще читающему этот Q& A, эта команда опасна, так не выполняйте ее на своем компьютере. Это перезапишет содержание Вашего /dev/sdb, если у Вас будет тот. Это - то, что OP хочет сделать, но Вы не должны выполнять его, если Вы не знаете то, что Вы делаете.

3
ответ дан 2 December 2019 в 02:49

Другие вопросы по тегам:

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