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, 1506 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

Neuester Wissensbeitrag
CPU, RAM, Mainboards

Angetestet: PC Engines APU 3a2 im Rack-Gehäuse

(1)

Erfahrungsbericht von ashnod zum Thema CPU, RAM, Mainboards ...

Ähnliche Inhalte
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 ...

Windows 7
Win 7 Keine Updates - Ewige Suche - WSUS läuft nicht (19)

Frage von metal-shot zum Thema Windows 7 ...

Batch & Shell
Bash Script soll neue Datei erzeugen (2)

Frage von SpeakerST zum Thema Batch & Shell ...

Heiß diskutierte Inhalte
Switche und Hubs
Trunk für 2xCisco Switch. Wo liegt der Fehler? (13)

Frage von JayyyH zum Thema Switche und Hubs ...

DSL, VDSL
DSL-Signal bewerten (13)

Frage von SarekHL zum Thema DSL, VDSL ...

Backup
Clients als Server missbrauchen? (9)

Frage von 1410640014 zum Thema Backup ...

Windows Server
Mailserver auf Windows Server 2012 (9)

Frage von StefanT81 zum Thema Windows Server ...