Hier ist, was ich bisher:Printing bash-Befehle in eine Logdatei, wie sie ausführen
LOGFILE="/home/bubba/bubba.log"
# Function to echo commands to log file as they are executed
exe() {
params = [email protected] #Put command-line into "params"
printf "%s\%t\%s\n" "$params" >> $LOGFILE #Print date, a tab, and command to run
$params #Run the command-line
} #End of exe() function
exe rm -rf /usr/Library/bubbasfile.txt
exe rm -rf /usr/Library/bubbas add-ons/
Der erste Aufruf von exe, die keine Leerzeichen enthält, funktioniert, wie ich es erwarten würde, zu arbeiten. Der zweite Aufruf von exe, der ein Leerzeichen im Pfad enthält, funktioniert nicht.
Ich habe versucht, doppelte Anführungszeichen um diese und um diese und um die andere Sache und um alles herum zu setzen; Ich habe einen Backslash-Escape-Zeichen vor dem Leerzeichen versucht; Ich habe einen doppelten Backslash vor dem Space versucht. Einige dieser Permutationen führen dazu, dass die richtige Zeile in die Protokolldatei gedruckt wird, aber das Verzeichnis mit dem Leerzeichen wird nie gelöscht.
Hilfe?
Danke!
Bitte werfen Sie einen Blick: http://www.shellcheck.net/ – Cyrus
Kennen Sie 'script '? –