Jak mogę wykonać następujące czynności przy użyciu terminala w systemie OS X?
Utwórz plik o nazwie .inputrc
w katalogu domowym użytkownika i umieść w nim następujący wiersz:
set completion-ignore-case On
źródło
Jak mogę wykonać następujące czynności przy użyciu terminala w systemie OS X?
Utwórz plik o nazwie .inputrc
w katalogu domowym użytkownika i umieść w nim następujący wiersz:
set completion-ignore-case On
Szybka odpowiedź
touch ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc
Wyjaśnienie
Najpierw utwórz plik:
touch ~/.inputrc
Następnie dodaj zawartość do pliku:
echo "set completion-ignore-case On" >> ~/.inputrc
touch
tworzy pusty plik (zakładając, że ~/.inputrc
plik jeszcze nie istnieje). echo
zapisuje tekst na „standardowym wyjściu” (w skrócie „stdout”), którym zwykle jest ekran, ale z powodu przekierowania ( >>
) wyjście jest przekierowywane na ~/.inputrc
. Ta konfiguracja doda linię do pliku.
Jeśli ~/.inputrc
już istnieje i chcesz usunąć (clobber) jego zawartość, a następnie zapisz w nim wiersz (tj. Utwórz plik zawierający tylko ten wiersz tekstu), wykonaj:
echo "set completion-ignore-case On" > ~/.inputrc
Pojedyncza strzałka ( >
), znana również jako symbol „większy niż”, mówi echo
o utworzeniu pliku zawierającego tylko podany tekst jako zawartość pliku, zamiast zapisywania zawartości na końcu pliku. (W rzeczywistości echo
nie tworzy pliku; powłoka tworzy plik, odrzucając istniejącą zawartość, a echo
polecenie zapisuje nową zawartość).
Jeśli użyjesz pierwszego podejścia (z >>
) i okaże się, że dodana linia jest wtłaczana do poprzedniej linii, np.
kilka rzeczy tutaj kilka innych rzeczy tutaj ustaw na zakończenie-ignorowanie-przypadku
następnie musisz edytować plik, aby go naprawić. Stałoby się tak, gdyby ostatni wiersz wcześniej istniejącego pliku kończył się znakiem tekstowym zamiast znakiem „nowej linii” (tj. Znacznikiem końca linii). Jest to powszechne w przypadku .TXT
plików w systemie Windows, ale rzadko w * nix.
Jeśli w jakiś sposób zorientujesz się z góry, że .inputrc
plik ma wcześniej istniejącą zawartość, która nie kończy się na nowej linii, powinieneś użyć tego echo
oświadczenia:
echo -e "\nset completion-ignore-case On" >> ~/.inputrc
Poprzednia \n
fraza jest interpretowana jako znak nowej linii, więc nowa linia jest dodawana po poprzedniej treści i przed nowymi rzeczami, które chcesz dodać.
Lub, nieco więcej pisania, ale o wiele bardziej czytelne,
echo "" >> ~/.inputrc
echo "set completion-ignore-case On" >> ~/.inputrc
lub
(echo ""; echo "set completion-ignore-case On") >> ~/.inputrc
które robią to samo; tzn. podaj brakujący znak nowej linii do istniejącego tekstu, a następnie dodaj set completion-…
polecenie.
touch
polecenia tutaj;echo "…" >> ~/.inputrc
wystarczy.echo "…" >> ~/.inputrc
utworzy plik, jeśli nie istnieje. Z wyjątkiem przypadków patologicznych, takich jak~
brak, nie masz uprawnień do zapisu~
lub system plików jest pełny; i w takich przypadkachtouch
nie pomoże.touch
jest tutaj całkowicie zbędny.Wszystko, co musisz zrobić, to:
echo
po prostu odbij tekst nadany mu przez normalny kanał wyjściowy (stdout)>>
zapisuje wyjście stdout z polecenia lewej do prawej pliku, który w danym przypadku jest~/.inputrc
~/
jest taki sam jak/home/your_username/
źródło