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

Powershell 5 BSOD

(8)

Tipp von agowa338 zum Thema Windows 10 ...

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

Frage von PronMaster zum Thema Netzwerkprotokolle ...

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

Frage von SpeakerST zum Thema Batch & Shell ...

Linux
gelöst Umlaute zählen - Bash-Script (5)

Frage von plutowitsch zum Thema Linux ...

Debian
gelöst Bash - String zwischen zwei Kommata ausgeben (3)

Frage von plutowitsch zum Thema Debian ...

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

Frage von Xaero1982 zum Thema Microsoft ...

Windows Update
Treiberinstallation durch Windows Update läßt sich nicht verhindern (17)

Frage von liquidbase zum Thema Windows Update ...

Windows Tools
gelöst Aussendienst Datensynchronisierung (12)

Frage von lighningcrow zum Thema Windows Tools ...

Windows Server
Suche passender Treiber (12)

Frage von stolli zum Thema Windows Server ...