Thread shell Befehl umsetzen
(13 answers)
Opened by wenze at 2018-05-22 11:14
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) |