OS X terminalini kullanarak bir dosya nasıl oluşturulur ve bir satır eklenir


22

OS X üzerindeki terminali kullanarak aşağıdakileri nasıl yapabilirim?

.inputrcKullanıcının giriş dizininde bir dosya oluşturun ve bu satırı içine yerleştirin:

set completion-ignore-case On

Yanıtlar:


31

Hızlı cevap

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

açıklama

İlk önce dosyayı oluşturun:

touch ~/.inputrc

Ardından, içeriği dosyaya ekleyin:

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

touchboş bir dosya oluşturur ( ~/.inputrcdosyanın mevcut olmadığını varsayarak ). echometni normal ekranınız olan "standart çıktıya" ("stdout" kısaltması) yazar, ancak yeniden yönlendirme ( >>) nedeniyle çıktı yönlendirilir ~/.inputrc. Bu kurulum satırı dosyaya ekler.

Eğer ~/.inputrczaten var ve siz istediğiniz silme (clobber) içeriğinin ve daha sonra (yani bir dosya oluşturmak konusunda çizgiyi yazmak sadece bu metin satırına), yapın:

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

Tek ok ( >), aka "dan büyük" sembolü, echoiçeriğini dosyanın sonuna yazmak yerine, yalnızca verilen metinlerle birlikte, dosyanın içeriği olarak bir dosya oluşturmayı bildirir . (Aslında, echodosyayı oluşturmaz; kabuk dosyayı oluşturur, varolan içerikleri atar ve echokomut yeni içerikleri yazar.)


İlk yaklaşımı (ile birlikte >>) kullanırsanız ve eklediğiniz satırın önceki satıra yapıştırıldığını görürseniz, örneğin

burada bazı şeyler
Burada daha fazla şey tamamlama-yoksay-davası Açık olarak ayarlandı

daha sonra düzeltmek için dosyayı düzenlemeniz gerekir. Önceden varolan dosyanın son satırı, "yeni satır" karakterinden ziyade bir metinsel karakterle (yani satır sonu işaretçisi) biterse bu olur. Bu, .TXTWindows'taki dosyalar için yaygındır , ancak * nix'te nadirdir.

Bir şekilde, .inputrcdosyanızın yeni bir satırla bitmeyen önceden var olan içeriğe sahip olduğunu önceden fark ederseniz , echobunun yerine bu ifadeyi kullanmalısınız:

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

Önceden \nifade yeni satır karakteri olarak yorumlanır, bu nedenle önceki içeriklerden sonra ve eklemek istediğiniz yeni satırdan önce yeni satır eklenir.

Veya biraz daha fazla yazarak ama çok daha okunabilir

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

veya

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

aynı şeyi yapan; yani, eksik olan yeni satır karakterini mevcut metne sağlayın ve ardından set completion-…komutu ekleyin .


1
Burada touchkomutu kullanmak için hiçbir neden yoktur ; echo "…" >> ~/.inputrcoldukça yeterli.
G-Man,

1
Eklemek istediğiniz dosya yoksa.
amrx

@Baron: Hayır, echo "…" >> ~/.inputrcmevcut değilse dosyayı oluşturur. Patolojik durumlar dışında, ~var olmadığı gibi , yazma izniniz yok ~veya dosya sistemi dolu; ve bu gibi durumlarda touchyardımcı olmaz.  touchburada tamamen gereksizdir.
G-Man

4

Yapmanız gereken tek şey:

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

echo basitçe normal çıkış kanalı (stdout) üzerinden verilen metni yankı

>>senin durumunda olan sağ dosyasına sol komutundan stdout çıktısını yazar~/.inputrc

~/ aynıdır /home/your_username/

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.