shell script (KSH) + configura o arquivo para param e executa o teste entre param e string

3

na minha máquina linux red-hat 5.1 - no arquivo ppp - eu tenho apenas a string signature.pl !!!

  • remark - terceira aplicação escreve a string signature.pl no arquivo ppp

Eu configurei o arquivo ppp em $ a param E compare $ a com signature.pl

Mas como todos veem aqui isso não é igual - por quê? ou se eu tiver espaço vazio? Como resolver isso?

    # more /var/tmp/ppp
    signature.pl
    # a='cat /var/tmp/ppp'
    # echo $a
    signature.pl
    # [[ $a = signature.pl ]] && echo equal

ou

    # [[ $a == signature.pl ]] && echo equal

exemplo de diff que funciona! - do shell ksh (LINUX RED-HAT 5.1)

[u@h w]# echo signature.sh > file
[u@h w]# cat file
signature.sh
[u@h w]# a='cat file'  
[u@h w]# echo $a
signature.sh
[u@h w]# [[ $a = signature.sh ]] && echo eq

 its print "eq"
    
por Eytan 05.02.2012 / 00:10

1 resposta

4

Você precisa de dois sinais de igual:

[[ $a == signature.pl ]] && echo equal
    
por 05.02.2012 / 00:17