Espaço de leitura como entrada no script de shell [duplicado]

4

Como posso dar espaço " " como entrada no script de shell?

Ex:

echo " Enter date for grep... Ex: Oct  6 [***Double space is important for single date***] (or) Oct 12 "
read mdate 
echo $mdate

Eu obtenho a saída como Oct 6 , mas quero Oct 6 .

    
por Kumar 14.10.2010 / 08:58

1 resposta

9

Você já tem Oct  6 em $mdate , seu problema é que você está expandindo ao imprimir. Sempre use o dobro citações em torno de substituições de variáveis . Além disso, para manter os espaços em branco iniciais e finais (aqueles que são removidos por read ), defina IFS como a string vazia.

IFS= read -r mdate
echo "$mdate"

A opção -r ( r aw) para ler diz para não tratar especialmente as barras invertidas, que é o que você quer na maior parte do tempo (mas não é o problema aqui).

    
por 14.10.2010 / 09:16