(1 Antwort)
Vor 1 Jahr geschlossen.
Der folgende Befehl funktioniert in der Befehlszeile
rsync -avh -r /Source/09_03_2016/ /Destination/
echo $(basename !:3)
Ausgabe 03.09.2016
Aber wenn ich das im Shell-Skript mache, funktioniert es nicht
#! /bin/bash
/usr/bin/rsync -avh -r /Source/09_03_2016 /Destination/;
echo $(basename !:3)
Ausgabe !:3
Akzeptierte Antwort:
Verwenden Sie die folgenden Anweisungen in Ihrem Skript:
set -o history
set -o histexpand
Dadurch wird die Verlaufserweiterung aktiviert, die standardmäßig nur für interaktive Shells aktiviert ist.
Siehe man bash
Abschnitt HISTORY EXPANSION
und SHELL BUILTIN COMMANDS
Befehl set
für Details.