Estou criando um script no Centos 7 para mover o arquivo mais recente em um diretório para outro diretório. O diretório original do qual estou copiando contém um arquivo válido, no entanto, quando tento mover ou copiar o arquivo, ele comete erros dizendo que o arquivo não existe. Eu sei que o arquivo existe como eu provo abaixo. Por que isso falha e o que eu posso fazer para consertar isso?
Se eu executar esta linha do meu script no shell, o $(
expandirá a saída para a variável conforme o esperado:
NEW=$(ls -Art /home/user/directory/ | tail -1)
Eu posso provar isso para mim mesmo estar ecoando o valor da variável da seguinte forma:
echo $ NEW
file.tar.gz
Então, tento mover o arquivo para um diretório diferente:
mv $NEW /usr/local/directory/
.. e é aqui que recebo o erro. Observe que a mensagem de erro nomeia explicitamente o arquivo que não pode encontrar:
mv: cannot stat ‘file.tar.gz’: No such file or directory
O shell parece estar me dizendo que não pode encontrar o arquivo e, em seguida, nomear o arquivo que não pode encontrar.
Eu tentei substituir os backticks por parênteses, mas com o mesmo resultado. Eu tentei alterar as permissões do arquivo e dos diretórios acima para praticamente todas as permutações em que eu posso pensar e também alterei a propriedade para user.user
Eu tentei executar o comando como root e user, mesmo resultado a cada vez. Eu apreciarei qualquer tentativa de ajudar a resolver isso.