Autor Tópico: Verificar se Arquivo Existe em Computador Remoto  (Lida 64 vezes)

Offline fabio_pariz

  • Usuário Ubuntu
  • *
  • Mensagens: 16
    • Ver perfil
Verificar se Arquivo Existe em Computador Remoto
« Online: 24 de Março de 2017, 16:13 »
Saudações a todos
Estou tentando fazer um script que abra um pdf em um servidor, mas antes de abrir ele testa se o arquivo existe. O script é esse:
Código: [Selecionar]
#!/bin/bash
opt1="Ler PDF"
opt2="Editar PDF"
ans=`zenity --height=200 --list --radiolist --text 'Select como abrir...:' --column 'Selecione...' --column 'Ação:' TRUE "$opt1" FALSE "$opt2"`
echo "Chosen option: "$ans
vData=$(zenity --title "Nome?" --entry --text="Entre com o nome do arquivo a abrir:")

if echo $ans | grep $"Ler PDF"; then
echo "Nome do Arquivo: "$vData
if [ -e "smb://servidor/hd/rel-pdf/$vData.pdf" ] ; then
xreader smb://servidor/hd/rel-pdf/$vData.pdf
else
zenity --title "Atenção!" --warning --text="O arquivo '$vData.pdf' não foi encontrado!"
fi
fi

if echo $ans | grep $"Editar PDF"; then
echo "Nome do Arquivo: "$vData
if [ -e "smb://servidor/hd/rel-pdf/$vData.pdf" ] ; then
libreoffice5.1 --draw smb://servidor/hd/rel-pdf/$vData.pdf
else
zenity --title "Atenção!" --warning --text="O arquivo '$vData.pdf' não foi encontrado!"
fi
fi
O problema é que sempre da a mensagem que o arquivo não existe. E se eu rodar somente o comando
Código: [Selecionar]
xreader smb://servidor/hd/rel-pdf/$vData.pdfo pdf abre normalmente.
O que pode estar de errado no meu script?
Obrigado a todos.
Fabio

Offline irtigor

  • Equipe Ubuntu
  • Usuário Ubuntu
  • *****
  • Mensagens: 4.344
  • Delete, delete, delete!
    • Ver perfil
Re:Verificar se Arquivo Existe em Computador Remoto
« Resposta #1 Online: 26 de Março de 2017, 16:53 »
Não vai funcionar porque o teste não abstrai protocolo de rede. Só manda abrir e testa a falha ou se visualizador não tem um opção do tipo, usa algum outro programa que intendente o protocolo pra mostrar o tamanho do arquivo, autor ou qualquer coisa pra saber se existe ou não baseado na resposta ou monta o compartilhamento e muda o teste pra -e /caminho/até/o/ponto/local/de/montagem