Atribuição de Path Windows com espaços

1. Atribuição de Path Windows com espaços

Heber Gonçalves Junior
newba

(usa Manjaro Linux)

Enviado em 24/06/2016 - 15:33h


Não consigo atribuir uma string do tipo "C:\Program Files (x86)\Programa1" para uma variável.
tentei :

teste='/c/Program\ Files\ \(x86\)/Program1',
teste="/c/Program\ Files\ \(x86\)/Program1",
teste=/c/Program\Files\ \(x86\)/Program1,
teste="C:\Program Files (x86)\Program1"

ao tentar imprimir na tela me retorna o seguinte:

$teste
/c/Program\



  


2. Re: Atribuição de Path Windows com espaços

Renan Arantes
R3nan

(usa Debian)

Enviado em 24/06/2016 - 16:36h

a forma de atribuir uma valor string a uma variavel em shell é:
variavel="minha string"

digitei no meu terminal veja:


renan@ultra:~$ teste="C:\Program Files (x86)\Programa"
renan@ultra:~$ echo $teste
C:\Program Files (x86)\Programa
renan@ultra:~$



3. Re: Atribuição de Path Windows com espaços

Heber Gonçalves Junior
newba

(usa Manjaro Linux)

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

Obrigado pela reposta Renan.

se eu usar "echo $teste" funciona normal

porém eu estou fazendo essa atribuição dentro do .bash_profile e tentando usar algo parecido com isso:

#!/bin/bash
path="C:\Program Files (x86)\Program"
alias meupath='cd '$path

não deveria ter que usar "echo" ai.

Valeu.


4. Re: Atribuição de Path Windows com espaços

Paulo
paulo1205

(usa Ubuntu)

Enviado em 24/06/2016 - 17:59h

Se você quiser que o shell interprete a variável como um objeto só, você tem de colocar a avaliação do valor da variável entre aspas.

#!/bin/bash
var="1 2 3 4 5 FIM"
echo $var # Imprime “1 2 3 4 5 FIM”
echo "$var" # Imprime “1 2 3 4 5 FIM”


Isso não vale só para o comando echo, mas para qualquer substituição de valor de variável feita pelo shell, em qualquer contexto.

Aliás, espaços não são os únicos candidatos a problemas. Outros caracteres especiais do shell continuam especiais quando resultam da expansão de variáveis, a não ser que você coloque a expansão entre aspas. Tais caracteres incluem tabulações, quebras de linha, asteriscos, pontos de interrogação e de exclamação, colchetes e chaves (e talvez mais alguns outros de que eu não me lembre).



  



Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts