Yavaş komutların bitmesini beklemek yerine, onları arka planda çalıştırmak istiyorum. Ancak, çalışmayı bitirip stdout'a yazdırdıklarında anlıyorum. █
imleci gösterir) bu:
$ slowcmd &
$ cmd_output
█
- İmlecimden önce bilgi istemi dizesi yok.
- ve
slowcmd
Herhangi bir yavaş komut olabilir (Denedim şeyler için, sadece dedim kialias slowcmd='sleep 1 && echo cmd_output'
)
Oysa şöyle bir şey istiyorum:
$ slowcmd && redrawPromptString &
$ cmd_output
$ █
Komutun çıktısından sonra benim için yeni bir Komut Dizisi yazdırılır.
Ne yapabilirim redrawPromptString
Ne istiyorsam onu yap? denedim clear
, kill $$
göndermek için ^C
terminale ve sonunda printf "^C"
(elbette işe yaramadı). Ben bash koşuyorum. (GNU bash, sürüm 3.2.57).
\@
zaman için. (Ama evet, bu tam olarak istediğini elde etmeyi umursamayan herhangi bir aklı başında bir kişi için uygun bir çözümdür ...) Ahaha ama gerçek olarak, cehaletten istediğimi yapamamaktan nefret ediyorum! Kullandığım programdaki destek yetersizliği? Tabii (şimdilik). Ama cehalet dışında? Bundan hoşlanmadım. Ben google ve yığın taşması ve inekler eve gelinceye kadar şimdi düşündüğüm herkese soracağım.
slowcmd
terminal? Gibi terminal çoklayıcı kullanın tmux
, yeni pencere oluştur ve orada çalıştır slowcmd
tekrar çalışma terminaline geçip işinize devam edebilirsiniz.
redrawPromptString
peki yaprintf '$ '
?