(1 risposta)
Chiusa 1 anno fa.
Il comando seguente funziona nella riga di comando
rsync -avh -r /Source/09_03_2016/ /Destination/
echo $(basename !:3)
Uscita 09_03_2016
Ma quando lo faccio nello script della shell non funziona
#! /bin/bash
/usr/bin/rsync -avh -r /Source/09_03_2016 /Destination/;
echo $(basename !:3)
Uscita!:3
Risposta accettata:
Usa le seguenti direttive nel tuo script:
set -o history
set -o histexpand
Ciò consentirà l'espansione della cronologia che è abilitata solo per le shell interattive per impostazione predefinita.
Vedi man bash
sezione HISTORY EXPANSION
e SHELL BUILTIN COMMANDS
comando set
per i dettagli.