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

Bash Escaping läuft nicht rund

Frage Entwicklung Batch & Shell

Mitglied: marinux

marinux (Level 2) - Jetzt verbinden

13.12.2013 um 10:57 Uhr, 1515 Aufrufe

Hallo,

ich benutze unter Debian6 die Standard-Shell: GNU bash, version 4.1.5

Dort habe ich folgendes Problem in einem Script, welches mit rrdtool eine Graphik erzeugen soll. In diesem Script soll dynamisch der Kommandozeilenaufruf dazu erweitert werden mit der Variablen $GRAPH

01.
for i in ${!RRAs[*]} 
02.
do 
03.
 
04.
GRAPH="${GRAPH}  DEF:${RRAs[$i]}=${LOG_PATH}/${CLIENT}_data.rrd:${RRAs[$i]}:AVERAGE"\ 
05.
" CDEF:${RRAs[$i]}_graph=${RRAs[$i]},8,*"\ 
06.
" AREA:${RRAs[$i]}_graph#edc24080:\"yyy Downstream\"" 
07.
 
08.
done 
09.
 
10.
        rrdtool graph ${IMAGE_PATH}/${CLIENT}.png\ 
11.
         --end ${DATE_Ymd}\ 
12.
         -t "xxx"\ 
13.
         -h 320\ 
14.
         -w 1200\ 
15.
         -a PNG\ 
16.
         -v bit/s\ 
17.
"$GRAPH"

Das Problem dabei: Stelle ich $GRAPH mit doublequotes unter dem Kommandozeilenaufruf an, dann scheint meine komplette Übergabe als ein String interpretiert zu werden und rrdtool kann es nicht interpretieren. Siehe den Outptut mit bash -x:

01.
rrdtool graph /var/log//xxx.png --end 20131214 -t 'xxx' -h 320 -w 1200 -a PNG -v bit/s  '  DEF:yyy=/var/log/xxx.rrd:yyy:AVERAGE CDEF:yyy_graph=yyy,8,* AREA:yyy_graph#edc24080:"yyy Downstream"'
Stelle ich $GRAPH ohne quotes hinten an, dann bekomme ich:

01.
rrdtool graph /var/log/xxx.png --end 20131214 -t 'xxx' -h 320 -w 1200 -a PNG -v bit/s DEF:yyy=/var/log/xxx.rrd:yyy:AVERAGE 'CDEF:yyy_graph=yyy,8,*' 'AREA:yyy_graph#edc24080:"yyy' 'Downstream"' 
02.
ERROR: 'D' is not a valid function name
Dabei scheint rrdtool den String "Downstream" als Argument zu verstehen, da es als extr String übergeben wird.

Wie mache ich es richtig?

Gruß

Marinux

Ähnliche Inhalte
Ubuntu
Nregp ereignis für bash-script (3)

Frage von rsadmchef zum Thema Ubuntu ...

Voice over IP
Mysterium Fax über VoIP - was man tun kann, damit es besser läuft (7)

Anleitung von LordGurke zum Thema Voice over IP ...

Exchange Server
Exchange 2013 Health Mailbox läuft voll (4)

Frage von bootloader zum Thema Exchange Server ...

Heiß diskutierte Inhalte
Verschlüsselung & Zertifikate
gelöst Festplattenverschlüsselung im Ausland (13)

Frage von Nicolaas zum Thema Verschlüsselung & Zertifikate ...

Festplatten, SSD, Raid
gelöst Fehlerhafte Blöcke im RAID 10 (12)

Frage von Kojak-LE zum Thema Festplatten, SSD, Raid ...

Windows Server
gelöst Microsoft-Lizenz CALs und passendes Server-Betriebssystem (12)

Frage von planetIT2016 zum Thema Windows Server ...

Netzwerkgrundlagen
gelöst Cisco SG500 Series LAG hat sich von selbst umgestellt (11)

Frage von Ex0r2k16 zum Thema Netzwerkgrundlagen ...