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
GELÖST

Bash quotingproblem: command in command

Frage Entwicklung Batch & Shell

Mitglied: marinux

marinux (Level 2) - Jetzt verbinden

21.06.2013 um 16:04 Uhr, 1623 Aufrufe, 3 Kommentare

HAllo,

folgendes Konstrukt:

01.
#!/bin/bash 
02.
TMP="$(timeout ${EXE_TIME} ssh root@${RM_IP} "pkill -f ${RM_DIR}/prog -s ${LC_IP}; ${RM_DIR}/prog -s ${LC_IP}"|grep info)" 
03.
echo ${TMP}
Es soll ein Programm über ssh auf einem entfernten Rechner gestartet und eine Info damit ausgelesen werden. Da dies crashen kann, ist ein timeout vorgeschaltet. Bevor auf dem entfernten Rechner das Programm mit seinen Argumenten gestartet wird, soll versucht werden es zu killen, sofern es mit den selben Argumenten schon geöffnet ist.

Dabei schleicht sich aber ein Quoting-Problem ein. pkill versucht nun auf dem entfernten Rechner mit -f ${RM_DIR}/prog das Programm zu finden. Das -s interpretiert pkill als eigenes Argument.

Kann mir jmd. helfen, damit pkill als Suchmuster "${RM_DIR}/prog -s ${LC_IP}" verwendet?

Gruß

Marinux
Mitglied: Lochkartenstanzer
21.06.2013, aktualisiert um 16:10 Uhr
Zitat von marinux:
Kann mir jmd. helfen, damit pkill als Suchmuster "${RM_DIR}/prog -s ${LC_IP}" verwendet?


Hast Du verscucht, "${RM_DIR}/prog -s ${LC_IP}" in quotes die Du durch backslash escapest zu setzen udn dann pkill zu übergeben?

Etwa so ähnlich:
MP="$(timeout ${EXE_TIME} ssh root@${RM_IP} "pkill -f  \"${RM_DIR}/prog -s ${LC_IP}\" ; ${RM_DIR}/prog -s ${LC_IP}"|grep info)"
ggf. mußt Du daß über mehrere Stufen machen.

lks
Bitte warten ..
Mitglied: marinux
21.06.2013 um 16:28 Uhr
Hi,

das funktioniert. Nur gefühlt habe ich genau das Gleiche heute schon 100x ausprobiert...

Manchmal ist der Wurm drin.

Danke und Gruß
Bitte warten ..
Mitglied: Lochkartenstanzer
22.06.2013 um 21:57 Uhr
Zitat von marinux:
das funktioniert.

schön.

Nur gefühlt habe ich genau das Gleiche heute schon 100x ausprobiert...

Es gibt aso Tage, da ...

... ist der Wurm drin.

Manchmal sieht man den Wald vor lauter Bäumen nicht. Da muß man einfach mal jemand anderen draufschauen lassen.

Danke und Gruß

gern geschehen.
Bitte warten ..
Neuester Wissensbeitrag
Windows 10

Sticky Notes - Autostart unterbinden

Tipp von Pedant zum Thema Windows 10 ...

Ähnliche Inhalte
Ubuntu
gelöst PHP-Version mit Bash in Variable schreiben? (11)

Frage von StefanKittel zum Thema Ubuntu ...

Entwicklung
Powershell Dot-Sourcing in Invoke-Command (3)

Frage von StfnCstr zum Thema Entwicklung ...

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

Frage von rsadmchef zum Thema Ubuntu ...

Netzwerkprotokolle
gelöst FTPS - Auth TLS - 502 Command not implemented (3)

Frage von PronMaster zum Thema Netzwerkprotokolle ...

Heiß diskutierte Inhalte
Flatrates
DeutschlandLAN der Telekom - welche internen IPs? (19)

Frage von qualidat zum Thema Flatrates ...

Batch & Shell
gelöst Base64 Decode (Batch,VBS) (16)

Frage von clragon zum Thema Batch & Shell ...

LAN, WAN, Wireless
Wie Gäste ins Internet bringen? (15)

Frage von xSiggix zum Thema LAN, WAN, Wireless ...