Все это хорошо, но seq предположительно устарел, и большинство из них работают только с числовыми диапазонами.
Если вы заключите цикл for в двойные кавычки, стартовые и конечные переменные будут разыменованы, когда вы будете эхо-строки , и вы можете отправить строку обратно в BASH для выполнения. $i
должен быть экранирован, поэтому он НЕ оценивается перед отправкой на подоболочку.
RANGE_START=a
RANGE_END=z
echo -e "for i in {$RANGE_START..$RANGE_END}; do echo \\${i}; done" | bash
Этот вывод также может быть назначен переменной:
VAR=`echo -e "for i in {$RANGE_START..$RANGE_END}; do echo \\${i}; done" | bash`
Единственный «служебный» ресурс, который должен генерировать, должен быть вторым экземпляром bash, поэтому он должен быть подходящим для интенсивных операций.
Вы можете написать ветку, изменяя цвет вашего компонента по мере необходимости, например:
class Effect extends Thread {
public void run() {
try {
while (true) {
yourLabel.setForeground(new Color(aValue, bValue, cValue)); // you can apply coloring logic
Thread.sleep(500); //sleep for 0.5 secs , so your color changes twice every second
}
} catch (InterruptedException e) {
}
}
}