Eu tenho que pegar alguns arquivos de um dispositivo e armazená-los em um diretório com um nome específico. Estou escrevendo um script que faz isso, mas uma das primeiras coisas que ele faz é verificar se o diretório com o nome desejado já existe.
A versão do dispositivo é o que determina o nome do diretório, mas a formatação está desativada. Do meu dispositivo, recebo o seguinte número: NUM=10-2-2
Eu tenho que reformatar para 10.2.2, então eu uso NUM=$(echo $NUM | tr "-" ".")
Este é o nome de um diretório. O caminho completo, então, seria /var/www/myServer/10.2.2
.
No entanto, o código a seguir:
Filepath=/var/www/myServer/$NUM
if [ -d $Filepath ]; then
echo the directory exists
else
echo the directory does not exist
fi
sempre me diz que o diretório não existe. Mas se eu declarar a variável Filepath
diretamente (ou seja, Filepath=/var/www/myServer/10.2.2
), obtenho o resultado desejado. Por que isso acontece?
A saída do comando tr
é a seguinte:
~$ <command-that-gets-version-number> | tr "-" "."
10.2.2
Por que isso acontece? Qualquer ideia seria útil.
Estou executando isso no Ubuntu 11.x