Não consigo utilizar o valor inteiro de uma variável

1. Não consigo utilizar o valor inteiro de uma variável

Jean Santos
jeansantos056

(usa Debian)

Enviado em 05/12/2016 - 15:50h

Olá senhores, estou escrevendo um script onde preciso checar em um servidor se determinado arquivo ou pasta existe lá. O script está funcionando, porém quando o nome a ser checado é composto, o FIND checa um nome por vez ao invés de checa-lo como um todo.

Exemplo:

arquivo="nova pasta";

testa=$(ssh user@192.168.0.1 find /home/user/$arquivo);

Ele acaba testando primeiro o "nova" e depois o "pasta". Já coloquei o nome da variável entre aspas simples, entre aspas duplas, ja coloquei o comando todo, e ainda sim não funciona. Preciso finalizar o script até quarta.

Se puderem me ajudar agradeço.


  


2. Re: Não consigo utilizar o valor inteiro de uma variável

Perfil removido
removido

(usa Nenhuma)

Enviado em 05/12/2016 - 16:11h

Não seria algo como

find /home/user -name "nova pasta" 


?

Aqui eu fiz um teste

DIR1="Área de trabalho"
find /home/user/"$DIR1"


e funcionou. Mostrou toda a estrutura dentro de $DIR1.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



3. Re: Não consigo utilizar o valor inteiro de uma variável

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 05/12/2016 - 17:15h

listeiro_037 escreveu:
find /home/user -name "nova pasta" 


DIR1="Área de trabalho"
find /home/user/"$DIR1"


e funcionou. Mostrou toda a estrutura dentro de $DIR1.


assim tb funciona

DIR1=VirtualBox\ VMs
find ~/"$DIR1"


mauricio@phantom:~$ DIR1=VirtualBox\ VMs;find ~/"$DIR1"
/home/mauricio/VirtualBox VMs
/home/mauricio/VirtualBox VMs/Xp
/home/mauricio/VirtualBox VMs/Xp/Xp.vbox
/home/mauricio/VirtualBox VMs/Xp/Xp.vdi
/home/mauricio/VirtualBox VMs/Xp/Logs
/home/mauricio/VirtualBox VMs/Xp/Logs/VBox.log.3
/home/mauricio/VirtualBox VMs/Xp/Logs/VBox.log.2
/home/mauricio/VirtualBox VMs/Xp/Logs/VBox.log.1
/home/mauricio/VirtualBox VMs/Xp/Logs/VBox.log
/home/mauricio/VirtualBox VMs/Xp/Snapshots
/home/mauricio/VirtualBox VMs/Xp/Snapshots/2016-12-04T19-10-09-892157000Z.sav
/home/mauricio/VirtualBox VMs/Xp/Xp.vbox-prev
mauricio@phantom:~$




___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


4. Gente, com o FIND deu certo, mas agora com o comando rm não está dando o mesmo problema.

Jean Santos
jeansantos056

(usa Debian)

Enviado em 06/12/2016 - 16:27h

Estou utilizando a mesma estrutura:

arquivo="nova pasta";

testa=$(ssh user@192.168.0.1 rm -r /home/user/$arquivo);

ele retorna:

rm: não foi possível remover "nova": Arquivo ou diretório não encontrado.
rm: não foi possível remover "pasta": Arquivo ou diretório não encontrado.


5. Re: Não consigo utilizar o valor inteiro de uma variável

Perfil removido
removido

(usa Nenhuma)

Enviado em 06/12/2016 - 16:41h

Tente

testa=$(ssh user@192.168.0.1 rm -r /home/user/"$arquivo");

ou

testa=$(ssh user@192.168.0.1 rm -r "/home/user/$arquivo");

Aspas duplas devem ir no comando e na definição de variável.
Na definição de variável pode ir com contrabarra \ conforme o colega mencionou.
Mas de qualquer jeito deve ir com aspas duplas no comando.

----------------------------------------------------------------------------------------------------------------
Nem direita, nem esquerda. Quando se trata de corrupção o Brasil é ambidestro.
(anônimo)

Encryption works. Properly implemented strong crypto systems are one of the few things that you can rely on. Unfortunately, endpoint security is so terrifically weak that NSA can frequently find ways around it. — Edward Snowden



6. Re: Não consigo utilizar o valor inteiro de uma variável

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 06/12/2016 - 17:23h

no parametro do rm vc usa -rvf
___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts