echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
Wie kann ich es so einrichten, dass die Datei erstellt wird, wenn sie nicht existiert, aber überschrieben wird, wenn sie bereits existiert? Im Moment fügt das Skript nur an.
echo "text" >> 'Users/Name/Desktop/TheAccount.txt'
Wie kann ich es so einrichten, dass die Datei erstellt wird, wenn sie nicht existiert, aber überschrieben wird, wenn sie bereits existiert? Im Moment fügt das Skript nur an.
In der Bash, wenn Sie noclobber a la set -o noclobber
, dann verwenden Sie die Syntax >|
Zum Beispiel:
echo "some text" >| existing_file
Dies funktioniert auch, wenn die Datei noch nicht existiert
Prüfen Sie, ob noclobber mit gesetzt ist: set -o | grep noclobber
Eine ausführlichere Erläuterung dieses speziellen Operatortyps finden Sie unter diese Stelle
Eine ausführliche Liste der Umleitungsoperatoren finden Sie unter diese Stelle
Trotz NylonSmile
Antwort was "irgendwie" richtig ist. Ich war nicht in der Lage überschreiben. Dateien, auf diese Weise..
echo "i know about Pipes, girlfriend" > thatAnswer
zsh: file exists: thatAnswer
um meine Probleme zu lösen... Ich hatte zu verwenden... >!
, á la ..
[[ $FORCE_IT == 'YES' ]] && echo "$@" >! "$X" || echo "$@" > "$X"
Seien Sie natürlich vorsichtig damit...
Wenn Ihre Umgebung das Überschreiben mit >
Rohr verwenden |
y tee
stattdessen wie folgt:
echo "text" | tee 'Users/Name/Desktop/TheAccount.txt'
Beachten Sie, dass dies auch auf stdout ausgegeben wird. Falls dies unerwünscht ist, können Sie die Ausgabe umleiten nach /dev/null
wie folgt:
echo "text" | tee 'Users/Name/Desktop/TheAccount.txt' > /dev/null
CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.