3

in my linux machine red-hat 5.1 - in ppp file - I have only the signature.pl string !!!

  • remark - third application write the signature.pl string in to ppp file

I set ppp file in $a param And compare $a with signature.pl

But as all see here this not equal - why ? or if I have empty space? How to solve this?

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

or

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

diff example that works ! - from ksh shell (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"
5
  • Your "real" example compares signature.sh and signature.pl...they aren't the same. Feb 5, 2012 at 3:16
  • this is a nother example (I fix it), on both they have the same ishhu
    – Eytan
    Feb 5, 2012 at 4:46
  • It works for me. What does this tell you? echo "${.sh.version}" What happens if you do: [[ $a = $a ]] && echo eq Feb 5, 2012 at 18:26
  • yes Dennis now its work also for me I create new file in place of ppp , not clearly what was wrong , for for the first case the original question I still have problem - third application write the signature.pl string in to ppp file so I cant say what wrong here in the ppp file by vi I see only this string ( I update my results on the second case )
    – Eytan
    Feb 5, 2012 at 21:09
  • Run /var/tmp/ppp through od -c - it might contain some unprintables. May 3, 2013 at 23:48

1 Answer 1

3

You need two equal signs:

[[ $a == signature.pl ]] && echo equal
1
  • I already tried it it also not work .....!!!
    – Eytan
    Feb 4, 2012 at 23:20

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .