Top-Themen

AppleEntwicklungHardwareInternetLinuxMicrosoftMultimediaNetzwerkeOff TopicSicherheitSonstige SystemeVirtualisierungWeiterbildungZusammenarbeit

Aktuelle Themen

Administrator.de FeedbackApache ServerAppleAssemblerAudioAusbildungAuslandBackupBasicBatch & ShellBenchmarksBibliotheken & ToolkitsBlogsCloud-DiensteClusterCMSCPU, RAM, MainboardsCSSC und C++DatenbankenDatenschutzDebianDigitiales FernsehenDNSDrucker und ScannerDSL, VDSLE-BooksE-BusinessE-MailEntwicklungErkennung und -AbwehrExchange ServerFestplatten, SSD, RaidFirewallFlatratesGoogle AndroidGrafikGrafikkarten & MonitoreGroupwareHardwareHosting & HousingHTMLHumor (lol)Hyper-VIconsIDE & EditorenInformationsdiensteInstallationInstant MessagingInternetInternet DomäneniOSISDN & AnaloganschlüsseiTunesJavaJavaScriptKiXtartKVMLAN, WAN, WirelessLinuxLinux DesktopLinux NetzwerkLinux ToolsLinux UserverwaltungLizenzierungMac OS XMicrosoftMicrosoft OfficeMikroTik RouterOSMonitoringMultimediaMultimedia & ZubehörNetzwerkeNetzwerkgrundlagenNetzwerkmanagementNetzwerkprotokolleNotebook & ZubehörNovell NetwareOff TopicOpenOffice, LibreOfficeOutlook & MailPapierkorbPascal und DelphiPeripheriegerätePerlPHPPythonRechtliche FragenRedHat, CentOS, FedoraRouter & RoutingSambaSAN, NAS, DASSchriftartenSchulung & TrainingSEOServerServer-HardwareSicherheitSicherheits-ToolsSicherheitsgrundlagenSolarisSonstige SystemeSoziale NetzwerkeSpeicherkartenStudentenjobs & PraktikumSuche ProjektpartnerSuseSwitche und HubsTipps & TricksTK-Netze & GeräteUbuntuUMTS, EDGE & GPRSUtilitiesVB for ApplicationsVerschlüsselung & ZertifikateVideo & StreamingViren und TrojanerVirtualisierungVisual StudioVmwareVoice over IPWebbrowserWebentwicklungWeiterbildungWindows 7Windows 8Windows 10Windows InstallationWindows MobileWindows NetzwerkWindows ServerWindows SystemdateienWindows ToolsWindows UpdateWindows UserverwaltungWindows VistaWindows XPXenserverXMLZusammenarbeit

Sourcen - Einbinden externer Konfigurationsdateien - Linux-UNIX

Frage Entwicklung Batch & Shell

Mitglied: mrjigglez

mrjigglez (Level 1) - Jetzt verbinden

27.10.2009, aktualisiert 13:31 Uhr, 1954 Aufrufe

Ich bin fast am verzweifeln:

Ich habe ein Shellskript geschrieben, welches seine verwendeten Standardvariablen mittels source (aka .) aus
einer externen Konfigurationsdatei bezieht. In dieser befinden sich nur Variablen mit Wertzuweisungen.

Nach der vollständigen Abarbeitung des Shellskripts wird ein Kommando aus festen Strings und diesen gesourcten
Variablen erstellt. Und dieses erstellte Kommando ist der Casus Knaxus:

Unter Debian und Cent OS Linux klappt das Shellskript wunderbar. Aber unter allen Suse Linux Distributionen
ist das erstellte Kommando falsch. Der erstellte String sieht aus als ob er fehlerhaft subsituiert wurde und
außerdem geshiftet wurde. Ich weiß jetzt auch nicht mehr weiter. Hat einer von Euch schon mal ein Ähnliches
Problem gehabt? Oder habt ihr dafür eine Lösung bzw. einen Workaround. Über jegliche Hilfe und Anregungen
bin ich dankbar.

Und bitte nur antworten wenn ihr wisst was ich meine. Mutmaßungen nützen mir nicht weiter. Ich habe
lange genug gebraucht um zu verfizieren, dass es an SUSE Linux liegt und habe so ziemlich alle
Kombinationen ausprobiert, Tutorials gelesen ... weil ich mir wie ein Anfänger vorkam.


1. Das Shellskript

01.
#!/bin/sh 
02.
 
03.
#   ************************************************************************************************ 
04.
#   ***   @program:       start6.sh 
05.
#   ***   @description:   This shellscript runs a java program which delivers information about 
06.
#   ***                               all installed webmodules and portlets on a specified system. Then it  
07.
#   ***                               sorts them and returns them sorted as html-file and prints them to STDOut. 
08.
#   ***   @author:           Mr.Jigglez 
09.
#   ***   @version:         1.1 
10.
#   ***   @date:               23.10.2009 
11.
#   ***   @copyright:      xxxxxxxxxxxxxxxxxxxxxxxxxxx 
12.
#   ************************************************************************************************ 
13.
 
14.
 
15.
#   ********************************* main configuration part ************************************** 
16.
#inputFile=config/export.all.portlets.xml 
17.
#outputFile=output/all.installed.portlets.unsorted.xml 
18.
#hostname=hostname 
19.
#portalServer=localhost 
20.
#port=9081 
21.
#portalDir="/opt/WebSphere/PortalServer" 
22.
#user=xxxxxxxxx 
23.
#password=xxxxxxxx 
24.
 
25.
#typeset configFile 
26.
configFile='config/xmlaccess.default.configuration.for.linux.cfg' 
27.
#source ./config/xmlaccess.default.configuration.for.linux.cfg 
28.
#. ./${configFile} 
29.
#source ./${configFile} 
30.
#   ************************************************************************************************ 
31.
 
32.
echo "ausserhalb parameteranzahl:" 
33.
echo $# 
34.
 
35.
#   ************************************************************************************************ 
36.
#   ***                           function usage - the help function                             *** 
37.
#   ************************************************************************************************ 
38.
function syntax() 
39.
40.
  #echo "function:syntax()" 
41.
  prog=`basename $0` 
42.
  echo "" 
43.
  echo "This program starts DIAIWAP. The Program delivers information about" 
44.
  echo "installed webmodules and portlets and processes them accordingly" 
45.
  echo "" 
46.
  echo "SYNTAX: $prog" 
47.
  echo "" 
48.
49.
#   ************************************************************************************************ 
50.
 
51.
 
52.
#   ************************************************************************************************ 
53.
#   ***     function which requests the execution options and configures them accordingly        *** 
54.
#   ************************************************************************************************ 
55.
function optionsMenu() 
56.
57.
  #echo "function:optionsMenu()" 
58.
  echo run program with [d]efault or [u]ser defined options? 
59.
  echo "" 
60.
  echo "Please note that the default option is options=[d]efault !!!" 
61.
  echo -n "program options [d]efault or [u]ser defined:" 
62.
  read options 
63.
  #check if user defined options are chosen 
64.
  if [ "$options" == "u" ] ; then 
65.
    echo "user defined options:" 
66.
    echo -n "portalDir=" 
67.
    read portalDir 
68.
    echo -n "inputFile=" 
69.
    read inputFile 
70.
    echo -n "user=" 
71.
    read user 
72.
    echo -n "password=" 
73.
    read password 
74.
    echo -n "portalServer=" 
75.
    read portalServer 
76.
    echo -n "port=" 
77.
    read port 
78.
    echo -n "outputFile=" 
79.
    read outputFile 
80.
  else 
81.
    echo "default options:$options" 
82.
  fi 
83.
84.
#   ************************************************************************************************ 
85.
 
86.
 
87.
#   ************************************************************************************************ 
88.
#   ***                           function which prints all set variables onto the screen                          *** 
89.
#   ************************************************************************************************ 
90.
function printParameters() 
91.
92.
  #echo "function:printParameters()" 
93.
  echo "" 
94.
  echo The following parameters are configured for this program  
95.
  echo ... 
96.
  echo '$hostname:'"$hostname" 
97.
  echo '$portalServer:'"$portalServer" 
98.
  echo '$port:'"$port" 
99.
  echo '$portalDir:'"$portalDir" 
100.
  echo '$user:'"$user" 
101.
  echo '$password:'"$password" 
102.
  echo '$inputFile:'"$inputFile" 
103.
  echo '$outputFile:'"$outputFile" 
104.
  echo "" 
105.
106.
#   ************************************************************************************************ 
107.
 
108.
 
109.
#   ************************************************************************************************ 
110.
#   ***         function runSortingProgram calls the java programm und run the sorting ...      *** 
111.
#   ************************************************************************************************ 
112.
function runSortingProgram() 
113.
114.
  #echo "function:runSortingProgram()" 
115.
  java -jar diaiwap.sdk.1.5.compatible.jar 
116.
  echo "" 
117.
  echo "Export, creation and sorting for DIAIWAP succesfully done ..." 
118.
  echo "" 
119.
120.
#   ************************************************************************************************ 
121.
 
122.
 
123.
# check that programm is called without parameters 
124.
 
125.
#function main() 
126.
#{ 
127.
  #echo "function:main()" 
128.
  echo "innerhalb parameteranzahl:" 
129.
  echo '$paramCount:'$paramCount 
130.
 
131.
  #check if program is called without parameters else exit with statuscode 1 
132.
  #if [ $paramCount -ne 0 ] ; then 
133.
  if [ $# -ne 0 ] ; then 
134.
    syntax 
135.
    exit 1 
136.
  fi 
137.
 
138.
  echo "*************************************************************************" 
139.
  echo "***       Started DIAIWAP - Program to deliver information about     ***" 
140.
  echo "***               installed webmodules and portlets.                                ***" 
141.
  echo "*************************************************************************" 
142.
  echo "" 
143.
  echo "Running ..." 
144.
  echo "" 
145.
  echo "Should xmlaccess be called and export information about all" 
146.
  echo "installed portlets and webdmodules? Please note that by pressing" 
147.
  echo "[n]o the already exported default file all.installed.portlets.xml" 
148.
  echo "which includes all installed webmodules and portlets is used!" 
149.
  echo "" 
150.
  echo "Please also note that the default is: xmlaccess=[y]es !!!" 
151.
  echo -n "run xmlaccess [y]es or [n]o:" 
152.
  read xmlaccess 
153.
 
154.
  #check if xmlacces should not be called and then sort the already existing default file and exit with status 0 
155.
  if [ "$xmlaccess" == "n" ] ; then 
156.
    echo '$xmlaccess=no' 
157.
    printParameters 
158.
    runSortingProgram 
159.
    exit 0 
160.
  else 
161.
    test=0 
162.
    #optionsMenu 
163.
  fi 
164.
 
165.
 
166.
 
167.
  # check whether the configurationfile with all needed parameters exists, is a file and is readable 
168.
  if [ -e "$configFile" ] && [ -f "$configFile" ] && [ -r "$configFile" ]; then 
169.
    # source (include) the configfile 
170.
    #. ./config/xmlaccess.default.configuration.for.linux.cfg 
171.
    . ./$configFile 
172.
    printParameters 
173.
    optionsMenu 
174.
    #runSortingProgram 
175.
    echo '$portalDir'":$portalDir" 
176.
    echo '$inputFile'":$inputFile" 
177.
    echo '$user'":$user" 
178.
    cmd="" 
179.
    cmd="${portalDir}""/bin/xmlaccess.sh -in ""${inputFile}"" -user ""${user}"" -pwd ""${password}"" -url http://""${portalServer}"":""${port}""/wps/config/ -out ""${outputFile}" 
180.
    echo $cmd 
181.
 
182.
    a1="test1" 
183.
    a2="test2" 
184.
    a3="test3" 
185.
    a4="test4" 
186.
    a5="test5" 
187.
    a6="test6" 
188.
    a7="test7" 
189.
    cmd2="${a1}""/bin/xmlaccess.sh -in ""${a2}"" -user ""${a3}"" -pwd ""${a4}"" -url http://""${a5}"":""${a6}""/wps/config/ -out ""${a7}" 
190.
    echo $cmd2 
191.
 
192.
    cmd3="${portalDir}/bin/xmlaccess.sh -in ${inputFile} -user ${user} -pwd ${password} -url http://${portalServer}:${port}/wps/config/ -out ${outputFile}" 
193.
    echo $cmd3 
194.
 
195.
  else 
196.
    echo "Error:  The configuration-file which is needed for xmlaccess is missing, or not readable!" 
197.
    echo "Please make sure that $configFile is ok!" 
198.
    exit 1 
199.
  fi 
200.
#} 
201.
#paramCount=$# 
202.
#main $paramCount $inputFile $outputFile $hostname $portalServer $port $portalDir $user $password 
203.
 
01.
inputFile="config/export.all.portlets.xml" 
02.
outputFile="output/all.installed.portlets.unsorted.xml" 
03.
hostname="hostname" 
04.
portalServer="localhost" 
05.
port="9081" 
06.
portalDir="/opt/WebSphere/PortalServer" 
07.
user="XXXXXXXX" 
08.
password="XXXXXXXX"

3. Wesentlicher Teilausschnitt der Programmausgabe:

************************************************************************* 
***       Started DIAIWAP - Program to deliver information about      *** 
***               installed webmodules and portlets.                  *** 
************************************************************************* 
 
Running ... 
 
Should xmlaccess be called and export information about all 
installed portlets and webdmodules? Please note that by pressing 
[n]o the already exported default file all.installed.portlets.xml 
which includes all installed webmodules and portlets is used! 
 
Please also note that the default is: xmlaccess=[y]es !!! 
run xmlaccess [y]es or [n]o: 
 
The following parameters are configured for this program 
... 
$hostname:hostname 
$portalServer:localhost 
$port:9081 
$portalDir:/opt/WebSphere/PortalServer 
$user:XXXXXXXX 
$password:XXXXXXXX 
$inputFile:config/export.all.portlets.xml 
$outputFile:output/all.installed.portlets.unsorted.xml 
 
run program with [d]efault or [u]ser defined options? 
 
Please note that the default option is options=[d]efault !!! 
program options [d]efault or [u]ser defined: 
default options: 
$portalDir:/opt/WebSphere/PortalServer 
$inputFile:config/export.all.portlets.xml 
$user:XXXXXXXX 
/wps/config/ -out output/all.installed.portlets.unsorted.xml 
test1/bin/xmlaccess.sh -in test2 -user test3 -pwd test4 -url http://test5:test6/wps/config/ -out test7 
/wps/config/ -out output/all.installed.portlets.unsorted.xml
PS: Ich habe so ziemlich alle Quotingvarianten ausprobiert. Daran hat es nicht gelegen. Um zu sehen
ob das Konkatenieren auch klappt habe ich eine Testausgabe mit direkt vorher konfigurierten Variablen
gebastelt. Diese Ausgabe ist korrekt. Sie ist anders quotiert aber ich habe auch schon gleiche Varianten.
Es hat immer nix gebracht. Und wichtig: Unter Debian und Cent OS klappts. Die Zeile in welcher ich konkateniere
ist ab Zeile 170 auffindbar (cmd3=...)


Hier nochmal die wichtigen Ausgaben


/wps/config/ -out output/all.installed.portlets.unsorted.xml
test1/bin/xmlaccess.sh -in test2 -user test3 -pwd test4 -url http://test5:test6/wps/config/ -out test7
/wps/config/ -out output/all.installed.portlets.unsorted.xml
Neuester Wissensbeitrag
Windows 10

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

Ähnliche Inhalte
Ubuntu
gelöst Linux neu erstellte vhd einbinden (2)

Frage von ClepToManix zum Thema Ubuntu ...

Windows Server
WDS mit PXE Linux (3)

Frage von HansWurstAugust zum Thema Windows Server ...

Linux Tools
Docker - Minimize your containers with alpine linux

Link von Sheogorath zum Thema Linux Tools ...

Monitoring
System Monitoring für Windows, Linux (5)

Frage von manuelw zum Thema Monitoring ...

Heiß diskutierte Inhalte
Microsoft
Ordner mit LW-Buchstaben versehen und benennen (20)

Frage von Xaero1982 zum Thema Microsoft ...

Outlook & Mail
gelöst Outlook 2010 findet ost datei nicht (19)

Frage von Floh21 zum Thema Outlook & Mail ...

Netzwerkmanagement
gelöst Anregungen, kleiner Betrieb, IT-Umgebung (18)

Frage von Unwichtig zum Thema Netzwerkmanagement ...

Festplatten, SSD, Raid
M.2 SSD wird nicht erkannt (14)

Frage von uridium69 zum Thema Festplatten, SSD, Raid ...