Здравствуйте, я пытаюсь создать небольшой скрипт 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