Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > de.comp.os.unix.shell > #14543

Re: richtig quoten

Path csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From Stefan Reuther <stefan.news@arcor.de>
Newsgroups de.comp.os.unix.shell
Subject Re: richtig quoten
Date Wed, 16 Jul 2025 18:05:32 +0200
Lines 43
Message-ID <1058pld.3mk.1@stefan.msgid.phost.de> (permalink)
References <078ee6a7-4eb6-4927-a40f-49bb333298b3@alexander-goetzenstein.my-fqdn.de>
Mime-Version 1.0
Content-Type text/plain; charset=windows-1252
Content-Transfer-Encoding 8bit
X-Trace individual.net rzzNeE7BW5IgzIeQhmKXwAvXX2dI8d/YIpN1/AiNyjLf7txPI4
Cancel-Lock sha1:2la10JD3G4yImJgk1XLFJmTNVcU= sha256:DmFhVgShyrF1uoCEnD4kUocBR4lUt+uT47iyQMdZfsk=
User-Agent Mozilla/5.0 (Windows NT 6.1; WOW64; rv:68.0) Gecko/20100101 Thunderbird/68.12.1 Hamster/2.1.0.1538
In-Reply-To <078ee6a7-4eb6-4927-a40f-49bb333298b3@alexander-goetzenstein.my-fqdn.de>
Xref csiph.com de.comp.os.unix.shell:14543

Show key headers only | View raw


Am 16.07.2025 um 15:14 schrieb Alexander Goetzenstein:
>> [...]
>> ## Beispielwerte:
>> DATUM=2025-07-16_14-10
>> FERTIG=2025-07-16_14-15
>> LAUFZEIT=5 Minuten
>> [...]
>> kdialog --msgbox "Beginn:  $DATUM \nEnde:     $FERTIG \n$LAUFZEIT" &
> 
> Letzteren Befehl möchte ich wie erwähnt behandeln, doch Konstrukte wie
> 
>> BEFEHL=kdialog --msgbox "Beginn:  $DATUM \nEnde:     $FERTIG \n$LAUFZEIT" &
>> eval "$BEFEHL"

Allen Unkenrufen zum Trotz ist das ziemlich einfach.

Du musst dafür sorgen, dass die Variable BEFEHL genau den Befehl mit
allen gewünschten Sonderzeichen enthält. Das geht am einfachsten, indem
du vor alle Sonderzeichen einen Backslash packst:

    BEFEHL="kdialog --msgbox \"Beginn:  \$DATUM \\nEnde:     \$FERTIG\\n\$LAUFZEIT\" &"

Im konkreten Fall reicht auch, einfach ein Hochkomma davor und eins dahinter

    BEFEHL='kdialog --msgbox "Beginn:  $DATUM \nEnde:     $FERTIG\n$LAUFZEIT" &'

aber das wird dann unhandlich, wenn der Befehl Hochkommate enthält.

Zum Prüfen: echo "$BEFEHL" - da muss genau der Befehl zurückkommen,
immer noch mit den $VARIABLEN und allen Sonderzeichen.

Dennoch wäre meine Empfehlung, eine Shellfunktion zu verwenden.

    status() {
       kdialog --msgbox "Beginn:  $DATUM \nEnde:     $FERTIG \n$LAUFZEIT" &
    }
    BEFEHL=status

Dann kannst du zum Aufrufen auch auf das 'eval' verzichten, sondern
einfach $BEFEHL aufrufen.


  Stefan

Back to de.comp.os.unix.shell | Previous | NextPrevious in thread | Next in thread | Find similar


Thread

richtig quoten Alexander Goetzenstein <alexander_goetzenstein@web.de> - 2025-07-16 15:14 +0200
  Re: richtig quoten Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2025-07-16 13:22 +0000
    Re: richtig quoten Ulli Horlacher <framstag@rus.uni-stuttgart.de> - 2025-07-16 16:19 +0000
  Re: richtig quoten "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-07-16 16:06 +0200
    Re: richtig quoten ram@zedat.fu-berlin.de (Stefan Ram) - 2025-07-16 14:46 +0000
      Re: richtig quoten "Peter J. Holzer" <hjp-usenet4@hjp.at> - 2025-07-16 17:30 +0200
        Re: richtig quoten ram@zedat.fu-berlin.de (Stefan Ram) - 2025-07-16 15:48 +0000
  Re: richtig quoten Stefan Reuther <stefan.news@arcor.de> - 2025-07-16 18:05 +0200
    Re: richtig quoten Alexander Goetzenstein <alexander_goetzenstein@web.de> - 2025-07-16 21:17 +0200
    Re: richtig quoten Helmut Waitzmann <nn.throttle@xoxy.net> - 2025-07-16 23:59 +0200
      Re: richtig quoten Stefan Reuther <stefan.news@arcor.de> - 2025-07-17 18:27 +0200
        Re: richtig quoten Helmut Waitzmann <nn.throttle@xoxy.net> - 2025-07-17 22:20 +0200
  Re: richtig quoten Helmut Waitzmann <nn.throttle@xoxy.net> - 2025-07-16 23:38 +0200

csiph-web