$?
é o status de saída do último comando que foi executado. No seu caso, isso é do comando [
(que você usa para testar se a string true
não está vazia como uma condição do seu loop while
).
Você quase nunca precisa usar $?
explicitamente. Apenas faça
la=500
while
mark=$(zenity --scale \
--text 'FREQUENCY' \
--value="$la" \
--min-value=0 \
--max-value=5000 \
--step=1)
do
echo "$mark"
la=$mark
done
Ou simplesmente:
mark=500
while
mark=$(zenity --scale \
--text 'FREQUENCY' \
--value="$mark" \
--min-value=0 \
--max-value=5000 \
--step=1)
do
echo "$mark"
done