ubuntuusers.de

Wie packe ich einen Befehl in eine Variable?

Status: Ungelöst | Ubuntu-Version: Ubuntu 18.04 (Bionic Beaver)
Antworten |

baldrianforte

Anmeldungsdatum:
25. Februar 2016

Beiträge: 45

Hallo,

ich möchte den Befehl date +%A,\ %d.%B\ %Y in eine Variable packen. Es würde ergeben: Montag, 20.Mai 2019

Also tippe ich datum="date +%A,\ %d.%B\ %Y". Dann aber folgt nach $datum die Meldung,

date: zusätzlicher Operand »%d.%B\\“ „date --help“ liefert weitere Informationen.

Kann jemand helfen?

Prof._Frink

Anmeldungsdatum:
29. Mai 2010

Beiträge: 1096

1
eval $datum

Kein Plan, warum das so ist!

kB Team-Icon

Supporter, Wikiteam
Avatar von kB

Anmeldungsdatum:
4. Oktober 2007

Beiträge: 9775

Wohnort: Münster

baldrianforte schrieb:

[…] den Befehl date +%A,\ %d.%B\ %Y in eine Variable packen

Das Programm date verwendet eine untypische Art der Parameterübergabe. Benutze statt einer Variablen besser ein alias:

$ alias datum="date '+%A, %d.%B %Y'"
$ datum
Montag, 20.Mai 2019
$ datum -d 'next week'
Montag, 27.Mai 2019

Oder so:

$ alias datum="date '+%A, %d.%B %Y' -d "
$ datum 'next week'
Montag, 27.Mai 2019
$ datum now
Montag, 20.Mai 2019

Naubaddi

Avatar von Naubaddi

Anmeldungsdatum:
28. Oktober 2009

Beiträge: 744

Hi,

noch eine Möglichkeit ist:

$ datum=$(date +'%A, %d.%B %Y')
$ echo $datum
$ Montag, 20.Mai 2019

Grüßle, Naubaddi

rklm Team-Icon

Projektleitung

Anmeldungsdatum:
16. Oktober 2011

Beiträge: 13217

baldrianforte schrieb:

ich möchte den Befehl date +%A,\ %d.%B\ %Y in eine Variable packen. Es würde ergeben: Montag, 20.Mai 2019

Willst Du den Befehl zur Einsparung von Tipparbeit speichern oder das Ergebnis der Ausführung? Für ersteres bietet sich der schon empfohlene Alias oder eine Shellfunktion an, für letzteres benötigst Du eine Command Substitution, wie in dieser Antwort beschrieben.

Antworten |