it-swarm.com.de

So erstellen Sie eine Datei und fügen eine Zeile mit dem OS X-Terminal ein

Wie kann ich mit dem Terminal unter OS X Folgendes tun?

Erstellen Sie eine Datei mit dem Namen .inputrc im Home-Verzeichnis eines Benutzers und fügen Sie diese Zeile ein:

set completion-ignore-case On

20
GGbro

Schnelle Antwort

touch ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

Erklärung

Erstellen Sie zuerst die Datei:

touch ~/.inputrc

Fügen Sie dann den Inhalt der Datei hinzu:

echo "set completion-ignore-case On" >> ~/.inputrc

touch erstellt eine leere Datei (sofern die ~/.inputrc-Datei noch nicht existiert). echo schreibt Text in die "Standardausgabe" (kurz "stdout"), die normalerweise auf Ihrem Bildschirm angezeigt wird. Aufgrund der Umleitung (>>) wird die Ausgabe jedoch an ~/.inputrc umgeleitet. Bei diesem Setup wird die Zeile an die Datei angehängt.

Wenn ~/.inputrc bereits existiert und Sie dessen Inhalt löschen (clobbern) möchten, schreiben Sie die Zeile hinein (dh erstellen Sie eine Datei nur mit diese Textzeile), mache:

echo "set completion-ignore-case On" > ~/.inputrc

Der einzelne Pfeil (>) mit dem Symbol "Größer als" weist echo an, eine Datei nur mit dem angegebenen Text als Inhalt der Datei zu erstellen, anstatt den Inhalt an das Ende der Datei zu schreiben. (Tatsächlich erstellt echo die Datei nicht. Die Shell erstellt die Datei und verwirft vorhandene Inhalte. Der Befehl echo schreibt die neuen Inhalte.)


Wenn Sie den ersten Ansatz (mit dem >>) verwenden und feststellen, dass die hinzugefügte Zeile in die vorherige Zeile übergeht, z.

ein paar Sachen hier 
 noch ein paar Sachen hiersetze Completion-Ignore-Case auf On

dann müssen Sie die Datei bearbeiten, um sie zu reparieren. Dies würde passieren, wenn die letzte Zeile der vorbestehenden Datei mit einem Textzeichen statt einem "Zeilenumbruch" -Zeichen (d. H. Einer Zeilenende-Markierung) endet. Dies ist häufig bei .TXT -Dateien unter Windows der Fall, unter * nix jedoch selten.

Wenn Sie im Voraus feststellen, dass Ihre .inputrc-Datei bereits Inhalte enthält, die nicht mit einem Zeilenumbruch enden, sollten Sie stattdessen die folgende echo-Anweisung verwenden:

echo -e "\nset completion-ignore-case On" >> ~/.inputrc

Der \n vor der Phrase wird als Newline-Zeichen interpretiert, sodass eine Newline nach dem vorherigen Inhalt und vor dem neuen Inhalt, den Sie hinzufügen möchten, eingefügt wird.

Oder etwas mehr Tippen, aber viel besser lesbar,

echo "" >> ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc

oder

(echo ""; echo "set completion-ignore-case On") >> ~/.inputrc

die das Gleiche tun; Geben Sie das fehlende Zeilenumbruchzeichen in den vorhandenen Text ein und fügen Sie anschließend den Befehl set completion-… hinzu.

28
Caleb Xu

Alles was Sie tun müssen ist:

echo "set completion-ignore-case On" >> ~/.inputrc 

echo gibt den Text einfach über den normalen Ausgabekanal (stdout) aus

der >> schreibt die stdout-Ausgabe des linken Befehls in die rechte Datei, die in Ihrem Fall ~/.inputrc ist

~/ ist dasselbe wie /home/your_username/

2
0x7a79