Echo in eine Datei unter Beibehaltung von Escape-Leerzeichen?

Echo in eine Datei unter Beibehaltung von Escape-Leerzeichen?

Wie kann ich ohne Aktualisierung update_historysicherstellen, dass meine Textdatei Folgendes enthält:

hello\ world john\ doe

So kann ich $greeting $namean eine Funktion oder einen Befehl übergeben hello\ world john\ doe.


function update_history {
  history=/tmp/hist
  grep -qF "$1" "$history" \
    || (combinations=$(echo "$1" | cat - $history) \
        && echo "$combinations" > $history)
}

greeting=hello\ world
name=john\ doe

update_history "$greeting $name"

Antwort1

Schließen Sie die Parametererweiterungen in doppelte Anführungszeichen ein:

update_history "$greeting" "$name"

verwandte Informationen