Как иметь несколько курсоров в bash терминале? - PullRequest
0 голосов
/ 11 марта 2020

Здравствуйте, я пытаюсь создать небольшой скрипт bash, который отображает случайные команды в терминале. Все работает, но когда мой скрипт использует echo для отображения, он «крадет» курсор, а когда я пишу, он пишет мои команды без букв. Я попытался вывести свой скрипт из терминала в другой, но он все еще не работал. Так что я думаю о втором курсоре, но я не могу найти ничего об этом в inte rnet вот мой код:

#!/bin/bash
compgen -c >> commands.txt
while(true);
do 
    sleep 100;
    tput sc
    tput cup 0 $(($(tput cols)-60));

    color1=`head ~/colors.txt -n $(( $RANDOM % 231 )) | tail -n 1` #Parse a random ansi color
    string=`head commands.txt -n $(( $RANDOM % 4593 )) | tail -n 1` #Parse a random command

    stringArgs=`man grep | grep - | sed 's/,/ /' | awk '{print $1}' | grep '\-[a-zA-Z]$'` #Parse arguments from man command
    stringArgslength=`wc -c <<< "$stringArgs"`
    stringArgs=` echo "$stringArgs" | head -n $(( $RANDOM % (stringArgslength+1))) | tail -n 1` #Parse a random argument

    string+=" $stringArgs" #Adds arguments to command 

    length=`wc -c <<< "$string"` 
    i=0

    while [ $((length+i)) -lt 48 ] #Complete command with whitespaces to erase remaining caracters from previous echo
    do
        string+=" ";
    i=$((i+1)) 
    done

    echo -e "$color1 $string";
    tput rc;
done
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...