Ich erstelle ein Programm, das im Namen des Benutzers eine Zeile an .bash_profile anfügt. Mein Programm kann jedoch mehrmals vom selben Benutzer auf der Maschine neu gestartet werden. Wie kann ich sicherstellen, dass diese Zeile nur einmal an die Datei angefügt wird, anstatt eine beliebige Anzahl von doppelten Zeilen in der Datei .bash_profile hinzuzufügen? Der einfachste Weg wäre, die .bash_profile-Datei zu lesen und jede Zeile zu betrachten und nur eine neue Zeile hinzuzufügen, wenn die Zeile noch nicht existiert. Gibt es einen besseren Weg?Verhindern, dass doppelte Zeilen an .bash_profile angehängt werden
0
A
Antwort
1
Der einfachste Weg wäre, die .bash_profile Datei in lesen und bei jeder Zeile suchen und nur eine neue Zeile hinzufügen, wenn die Leitung existiert noch nicht, gibt es einen besseren Weg?
Es gibt keinen besseren Weg. Die Überprüfung, ob die Variable NODE_PATH
bereits so eingestellt ist, wie sie gewünscht wird, kann erst funktionieren, wenn der Benutzer sich erneut angemeldet hat. Dadurch würde verhindert, dass zuvor doppelte Zeilen hinzugefügt werden.
line='export NODE_PATH=$(npm root -g):$NODE_PATH'
grep "$line" .bash_profile||echo $line >>.bash_profile
Verwandte Themen
- 1. SQLite: Verhindern, dass doppelte Zeilen
- 2. Wie kann ich verhindern, dass doppelte Elemente angezeigt werden?
- 3. Wie verhindert man, dass Zeilen mit duplizierten Indizes/Schlüsseln an einen data.frame angehängt werden?
- 4. Knoten werden nicht an Baum angehängt
- 5. Konnte nicht an pid: "41851" angehängt werden?
- 6. Verhindern, dass ungültige Textboxeingaben an Geschäftsobjekteigenschaften gebunden werden?
- 7. Verhindern, dass XML-Namespaces an untergeordnete Elemente übergeben werden
- 8. Doppelte Zeilen in Oracle
- 9. Werden Zufallsdaten, die an ein JPG angehängt werden, unbrauchbar?
- 10. appsheet verhindern doppelte Einträge
- 11. Doppelte Formulareinreichungen verhindern
- 12. verhindern doppelte Einfügung von Zeilen in PHP/MySQL
- 13. So verhindern Sie, dass Wörter entfernt werden
- 14. R programmieren, wie doppelte Zeilen indexiert werden?
- 15. iphone - verhindern, dass Anhänge angezeigt werden
- 16. Verhindern, dass bestimmte .php-Dateien angezeigt werden
- 17. Doppelte Google Map-Markierungen verhindern
- 18. alle Zeilen in einer Tabelle duplizieren und verhindern, doppelte Schlüssel
- 19. Verhindern, dass Duplikate in der Bash-History gespeichert werden
- 20. Wie verhindern Sie, dass sortedArrayUsingSelector doppelte Einträge (ios) entfernt?
- 21. richtige Art zu verhindern, dass doppelte Datensätze in Rails
- 22. Dokument bearbeiten an Listenelement angehängt
- 23. Verhindern doppelte Einträge parse.com
- 24. Verhindern, dass zusätzliche Zeichen eingegeben werden
- 25. ohne doppelte Zeilen
- 26. Verhindern, dass bestimmte Eigenschaften aktualisiert werden?
- 27. Verhindern, dass CSS-Klassen überschrieben werden
- 28. Verhindern, dass Python-Fenster fokussiert werden
- 29. Verhindern, dass Ressourcen-DLLs gehackt werden
- 30. AngularJS: Verhindern, dass verdeckte Formularfelder validiert werden
Was ist die Zeile, die angehängt wird? Es könnte in dieser Hinsicht einen Unterschied machen. –
sicher, die Zeile ist: export NODE_PATH = $ (npm root -g): $ NODE_PATH –
Wenn es Duplikate dieser Zeile gibt, ist es keine große Sache, aber ich würde lieber vermeiden Dupes –