PowerShell has a Write-Progress cmdlet that would update the Terminal icon to indicate progress.
I would like to do the same in Bash (and NOT exec powershell)
I think it is doable from the link
PowerShell displays certain information using ANSI escape sequences
So I was wondering what those ANSI sequences are.

The escape sequence is ESC ] 9 ; 4 ; st ; pr ST.
pr is the current progress. st can be one of the following:
| Value | Purpose |
|---|---|
| 0 | Clear the progress indicator |
| 1 | Set the progress to pr % |
| 2 | Set the progress to pr % in error state |
| 3 | Set the progress indicator to indeterminate state |
| 4 | Set the progress to pr % in warning state |
For example,
# Show indeterminate indicator for a couple seconds.
echo -en "\e]9;4;3;0\e\\"
sleep 3
# Run normally up to 40 %.
for i in {10..40..10}
do
echo -en "\e]9;4;1;$i\e\\"
sleep 1
done
# Continue in error state for a couple seconds.
for i in {50..70..10}
do
echo -en "\e]9;4;2;$i\e\\"
sleep 1
done
# Continue in warning state for a couple seconds.
for i in {80..100..10}
do
echo -en "\e]9;4;4;$i\e\\"
sleep 1
done
# Clear progress indicator.
echo -en "\e]9;4;0;0\e\\"
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With