Substituição de comando

1

Eu gostaria de criar um script no SUSE Enterprise Linux, ele primeiro solicita uma string (representando uma data) e, em seguida, procura por todos os arquivos em um determinado diretório que contém a string em seu nome de arquivo. Se houver uma entrada vazia, a data de hoje deve ser usada.

Agora tenho isto:

read -p "Send files from date (MM-DD-YYYY) : " fromdate
if [[ -z ${fromdate// } ]]
then
    echo "Empty input"
    fromdate=$(date +%m-%d-%Y)
fi
echo "Input: $fromdate"
cd /path/to/directory
while IFS= read -r -d '' file ; do
echo "$file"
done < <(find . -maxdepth 1 -name "*$fromdate*" -print0)

Quando eu digito uma data, funciona bem, para entrada vazia, recebo um erro:

fromdate: command not found

A entrada ainda está vazia e todos os arquivos são exibidos. O que poderia ser meu erro? Devo usar o comando 'let'?

    
por Yves Fierens 18.11.2015 / 16:06

1 resposta

0

Isso funciona para mim (mas no CentOS 7.1). Eu senti falta de alguma coisa?

read -p "Send files from date (MM-DD-YYYY) : " fromdate
if [[ -z ${fromdate// } ]]
then
    echo "Empty input"
    fromdate=$(date +%m-%d-%Y)
fi
echo "Input: $fromdate"

find /path/to/directory -maxdepth 1 -name "*$fromdate*"
    
por 18.11.2015 / 16:32