[Fedora-users-br] Apanhando de variáveis

Eduardo Habkost ehabkost em raisama.net
Segunda Novembro 5 19:40:45 UTC 2007


On Mon, Nov 05, 2007 at 05:28:46PM -0200, Herminio E. Piram wrote:
> Boa tarde moçada, preciso da ajuda de vc's.
> 
> Estou montando um script e preciso pegar o Ano e o Mes, estou usando o
> comando
> date +"%Y%m" (preciso da data deste jeito), em algumas partes do script
> quero imprimir
> esta data, pensei em coloca - la em uma variável, então fiz isso da seguinte
> forma:
> 
> $anoMes = date +"%Y%m"
> 
> mas tenho o seguinte retorno:
> line 4: anoMes: command not found

É shell script?

Se, sim, então:

- Não use espaço em torno do sinal de =, senão o shell vai achar
  que é um comando, e que por acaso você só está passando um "=" para ele
  no primeiro parâmetro (teste "ls = bla", por exemplo).
- Se quer pegar a saída de um comando, use "backticks" (a nossa craze): ``.
  Sem elas, você vai colocar apenas o texto "date" na variável,
  e não a saída do comando date.
- Sem "$" na frente do nome da variável na atribuição.

Resultado:

anoMes=`date +"%Y%m"`


Para aprender a parte básica de shell script, tem bastante material aqui:
http://aurelio.net/shell/


> 
> E mais adiante quero criar um diretório com o retorno deste comando,
> exemplo:
> 
> mkdir $anoMes - isso é possível?

Sim, é. Se a variável $anoMes tiver a data, é assim mesmo.

-- 
Eduardo




Mais detalhes sobre a lista de discussão br-users