Я новичок в zsh (oh-my-zsh) и пытаюсь написать собственную тему. Я столкнулся с проблемой и сократил ее до следующего теста
PROMPT='$RANDOM > '
работает так, как ожидалось, он выдает случайное число для каждой команды. Но при использовании функции
PROMPT='$(my_random) > '
function my_random(){
echo $RANDOM
}
он всегда возвращает один и тот же номер, даже после source ~/.zshrc
все тот же номер. только когда я закрываю окно терминала и открываю его снова, я получаю новый номер, который остается неизменным для всего сеанса.
только когда я делаю:
PROMPT='$RANDOM $(my_random) > '
function my_random(){
echo $RANDOM
}
я получаю два случайных числа, как и ожидалось... какое объяснение этому поведению?
Кстати, я использую консоль kde при установке новой арки.
Изменить
Кстати, я обнаружил, что использование /dev/urandom напрямую работает хорошо. Я все еще хотел бы знать, что происходит.
function my_random() {
echo $(cat /dev/urandom | tr -dc '0-9' | head -c5)
}