Thread shell Befehl umsetzen (13 answers)
Opened by wenze at 2018-05-22 11:14

wenze
 2018-05-22 15:38
#188425 #188425
User since
2006-06-15
29 Artikel
BenutzerIn
[default_avatar]
Wie könnte ich den Code als sub verwenden und wie habe ich die "/usr/sap/SID/SYS/profile/DEFAULT.PFL" ($SID im Pfadnamen) zu übergeben und wie bekomme ich den Return?

Ich hab etwas gebastelt und mich etwas eingelesen:

Code (perl): (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
sub DBhost {

my $file = "/usr/sap/$_[0]/SYS/profile/DEFAULT.PFL";
my $search = 'dbhost';

open my $fh, '<', $file or die "open($file,ro) failed: $!";

my $seen = ' ';

LINE:
while ( my $line = <$fh> ) {

  # skip lines without search string 
  next LINE   if index( lc($line), lc($search), 0 ) < 0;

  # extract the third field of line
  my $third = ( split( ' ', $line, ) )[2] // '';

  # keep the fields uniq
  $third  unless $third eq $seen;
  $seen = $third;
}


 return $seen;
}


Allerdings: kommt diese Fehlermeldung:

Useless use of private variable in void context at /sap_sw/scripte/patchlevel_read/patchlevel_collector.pl line 20.

Die Fehlermeldung ist klar, aber was muss ich wie tun?
Last edited: 2018-05-22 16:50:16 +0200 (CEST)

View full thread shell Befehl umsetzen