Bir terminal komutu OS X'te .bash_history'ye kaydetmeden yürütülsün mü?


19

Bu site Linux'ta spaceterminal komutundan önce dışında tutmak için bir komut ekleyebileceğinizi söylüyor .bash_history.

Bu, Mac OS X için işe yaramıyor gibi görünüyor. Kimse tarihe kaydetmeden Terminal üzerinde tek bir komut yürütmenin bir yolunu biliyor mu?

Tarihi temizlemek istemiyorum.

resim açıklamasını buraya girin


Bir terminal komutu önce `` (boşluk) ekleyerek olacaktır değil tarihin dışarı tutmak
warren

2
@warren Hayır, öyle. Özelliği bash'da etkinleştirmeniz yeterlidir.
goweon

@firebat - right: ancak etkinleştirmeniz gereken bir şey olduğu için, her yerde çalışmayabilir veya çalışmayabilir :)
warren

Yanıtlar:


24

Aşağıdaki satırı ~ / .bashrc dizinine ekleyin

export HISTCONTROL=ignorespace

Ardından source ~/.bashrcayarları yenilemek için

Bu, bash'da bu özelliği etkinleştirmelidir. Eğer işe yaramazsa, OS X onları bence linux'dan biraz farklı yüklediğinden ~ / .bashrc yerine ~ / .bash_profile dosyasına eklemeniz gerekebilir.


Bununla iki seçeneği nasıl kullanabilirim? Kullanmak istiyorum export HISTCONTROL=erasedups,ignorespaceama sözdiziminin işe yaramadığını düşünüyorum ...
cwd

2
export HISTCONTROL=erasedups:ignorespace
goweon

2
Ama bence bu aslındaexport HISTCONTROL=ignoredups:ignorespace
goweon

3
"Yoksayılanlar" ayarı tekrarlanan satırları yok sayar. Arka arkaya yirmi kez "ls" yazdığınızda, bunlardan biri tarihte son bulur. Ancak, "ls" ve sonra "ps" ve sonra "ls" yazmak her seferinde "ls" ve "ps" depolar - 3 bash ve "silindi" ayarlama sürece. Bu ayar yapılırsa, bash geçmişine hiçbir kopya girilmez. - cyberciti.biz/faq/bash-for-loop-array
cwd

1
Bu benim için işe yaramıyor. Hem çalıştılar export HISTCONTROL=erasedups:ignorespace ve export HISTCONTROL=ignoredups:ignorespacehatta export HISTCONTROL=ignoredups:ignoreboth. Ama elde ettiğim, oturumlar yerine her oturum için tek bir giriş : yani, .bash_historybir oturumun başında zaten bir komut varsa ve tekrar yazılırsa, geçmişe eklenecektir (bu oturum için sadece bir kez olsa da) . Terminal'i başlattığımda zaten .bash_history içinde bulunan bir komutun tekrar girilirse eklenmemesini nasıl sağlayabilirim?
orome

1

Oturumu etkin tutma konusunda endişeleriniz yoksa, bu işe yarayabilir:

kill -9 $$

Oturumu kapatmak yerine geçerli oturumu öldürür, bu da [teorik olarak] geçmişinizin kaydedilmeyeceği anlamına gelir.

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.