Estou fazendo um script que me retorne um arquivo aleatório de um diretório sem repitilo.
Prentendo usar esse script para trocar o meu papel de parede automaticamente para uma imagem aleatória.
Esse é meu código:
#!/bin/sh
last=""
func1() {
first=$(ls $1 | shuf -n 1)
if [[ "$firs" == "$last" ]]; then
echo "é igual"
# Se for igual ele executa a função novamente até encontrar um valor diferente
else
echo "é diferente"
# Continua o código
fi
export last="$first"
sleep 2
func1 $1
}
func1 $1
Por algum motivo o meu código após a primeira execução da função a condicional if só me retorna false mesmo se for igual.