Celebrate National IT Professionals Day with 3 months of free Premium Membership. Use Code ITDAY17

x
?
Solved

shell script

Posted on 2014-02-13
14
Medium Priority
?
335 Views
Last Modified: 2014-03-20
This is perl, v5.8.9 built for i386-thread-multi

Copyright 1987-2008, Larry Wall

Perl may be copied only under the terms of either the Artistic License or the
GNU General Public License, which may be found in the Perl 5 source kit.

Complete documentation for Perl, including FAQ lists, should be found on
this system using "man perl" or "perldoc perl".  If you have access to the
Internet, point your browser at http://www.perl.org/, the Perl Home Page.

I want to grep the version and compare to make sure it is 5.8.9.  How do we do that in shell script
0
Comment
Question by:ittechlab
[X]
Welcome to Experts Exchange

Add your voice to the tech community where 5M+ people just like you are talking about what matters.

  • Help others & share knowledge
  • Earn cash & points
  • Learn & ask questions
  • 4
  • 3
  • 3
  • +3
14 Comments
 
LVL 31

Accepted Solution

by:
farzanj earned 396 total points
ID: 39857497
version=$(perl -v | grep -Po '\d+\.\d+\.\d+')
if [[ $version == "5.8.9" ]]
then
     echo yes
fi

Open in new window

0
 

Author Comment

by:ittechlab
ID: 39857517
can you please explain this first line i am not sure how \d+ works here.
0
 
LVL 68

Assisted Solution

by:woolmilkporc
woolmilkporc earned 396 total points
ID: 39857526
The usual one-liner with awk:

perl -v | awk -F"This is perl, v| built for" '/built for/ {if($2~"5.8.9") print "yes"}'
0
Learn Veeam advantages over legacy backup

Every day, more and more legacy backup customers switch to Veeam. Technologies designed for the client-server era cannot restore any IT service running in the hybrid cloud within seconds. Learn top Veeam advantages over legacy backup and get Veeam for the price of your renewal

 

Author Comment

by:ittechlab
ID: 39857532
how do i check if this 32 bit or 64 bit as well?
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39857551
file $(which perl)

/usr/bin/perl: ELF 64-bit LSB executable, x86-64,  ... ...
0
 

Author Comment

by:ittechlab
ID: 39857616
how do i check using script?
0
 
LVL 68

Expert Comment

by:woolmilkporc
ID: 39857638
if file $(which perl) |grep -q "64-bit"; then echo yes; fi
0
 
LVL 48

Expert Comment

by:Tintin
ID: 39857656
wmc, your check doesn't work for all versions, eg:

$ perl -v

This is perl 5, version 16, subversion 2 (v5.16.2) built for darwin-thread-multi-2level
(with 3 registered patches, see perl -V for more detail)

Copyright 1987-2012, Larry Wall
0
 
LVL 38

Assisted Solution

by:Gerwin Jansen, EE MVE
Gerwin Jansen, EE MVE earned 392 total points
ID: 39857757
>> can you please explain this first line i am not sure how \d+ works here.

\d+ is part of the regular expression that is grepped for, it means one or more digits (numbers), pattern '\d+\.\d+\.\d+' matches 1.2.3 or 5.8.9 or 10.20.30

\. is a literal dot (.) in the pattern
0
 
LVL 27

Assisted Solution

by:skullnobrains
skullnobrains earned 396 total points
ID: 39886620
if perl -v | grep -f 'v5.8.9 ' >/dev/null
then echo happy
else echo unhappy
fi

if you want it to check for i386 as well

if perl -v | grep 'v5\.8\.9[[:space:]].*i386' >/dev/null
then echo happy
else echo unhappy
fi
0
 
LVL 38

Expert Comment

by:Gerwin Jansen, EE MVE
ID: 39931829
Why the B grade? You got perfect answers and some additional explanation as well. This should be graded A.
0
 

Author Comment

by:ittechlab
ID: 39931837
How do I change it now.
0
 
LVL 38

Expert Comment

by:Gerwin Jansen, EE MVE
ID: 39931919
You can use the Request Attention button above and state you want to change the grade.
0

Featured Post

Application Discovery Service in AWS

In the era of the cloud, customers migrating away from their existing on-premise infrastructure. This requires lots of planning, strategies, and effort to identify their existing resources and determine how best to migrate.  Datacenter migrations happen in four phases -

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

Little introduction about CP: CP is a command on linux that use to copy files and folder from one location to another location. Example usage of CP as follow: cp /myfoder /pathto/destination/folder/ cp abc.tar.gz /pathto/destination/folder/ab…
SSH (Secure Shell) - Tips and Tricks As you all know SSH(Secure Shell) is a network protocol, which we use to access/transfer files securely between two networked devices. SSH was actually designed as a replacement for insecure protocols that sen…
Connecting to an Amazon Linux EC2 Instance from Windows Using PuTTY.
How to Install VMware Tools in Red Hat Enterprise Linux 6.4 (RHEL 6.4) Step-by-Step Tutorial
Suggested Courses

730 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question