Вместо того чтобы ждать медленных команд до конца, я бы хотел запускать их в фоновом режиме. Однако, когда они заканчивают работу и печатают на стандартный вывод, я получаю (где █
представляет мой курсор) это:
$ slowcmd &
$ cmd_output
█
- Перед моим курсором нет строки подсказки.
- и
slowcmd
может быть любой медленной командой (для материала, который я пробовал, я просто сказалalias slowcmd='sleep 1 && echo cmd_output'
)
В то время как я хотел бы что-то вроде этого:
$ slowcmd && redrawPromptString &
$ cmd_output
$ █
Где после вывода команды для меня выводится новая строка подсказки.
Что я могу сделать, чтобы redrawPromptString
делал то, что я хочу? Я попытался clear
, kill $$
чтобы отправить ^C
в терминал, и, наконец, printf "^C"
(конечно, это не сработало). Я бегу Баш. (GNU bash, версия 3.2.57).