Kabuk komut dosyaları aracılığıyla bir dosyadan herhangi bir dize nasıl kaldırılır?


9

Ben dize kaldırmaya çalışın .bash_profile. Kabuk betiğim çalıştığında dize eklendi:

Dize bash_profile aşağıdaki gibi:

# for Myapllication
export MYAPP_HOME=/opt/myapp

.bash_profileMyapp kaldırıldığında dizeleri kaldırmak istiyorum rpm.

Kabuk betiği ile bir dosyadan herhangi bir dize nasıl kaldırılır? (veya olası alternatif yöntem)

Yanıtlar:


11

Bir metin dosyasından bir dizeyi kaldırabilirsiniz sed (başka araçlar da vardır).

Örneğin:

sed -i -e '/myapp/d' .bash_profile

.bash_profile dizeyi içeren her satırdan kaldırır myapp.


10

Bir ~/.bash_profilekullanıcının giriş dizinindeki canlılar gibi bir dosya . Böyle bir dosya tamamen kullanıcının kontrolündedir. Gibi global oyunculuk komutlarının rpmbu dosyaları değiştirmesi gerekmez.

  • Genellikle rpm paketi tarafından teslim edilen bir temel yapılandırma dosyanız vardır.

  • Daha sonra, kök tarafından verilen sisteme özgü bazı tercihlerin üzerine yazmak için kullanılabilecek bir genel yapılandırma dosyanız olur.

  • Daha sonra, ana dizininizde global ayarı kişisel tercihlerinizle geçersiz kılmak için kullanabileceğiniz kişisel yapılandırma dosyalarınız vardır.

Gibi bir komut rpmsadece ilkini değiştirmeli ve ikincisini değiştirmemelidir.


Bu konuyu incelemek için bir URL önerebilir misiniz?
Gyhot

1
@Gyhot unix.stackexchange.com/questions/77518/… iyi bir tanesidir. Hedef dağıtımınızın bir /etc/profile.ddizini varsa, o exportsatırı içeren bir dosyayı buraya bırakın . Aksi takdirde, düzenleyebilir /etc/profile, ancak sistem yöneticisi tarafından özelleştirmeleri batırmamaya çok dikkat edin.
Gilles 'SO- kötü olmayı bırak'


0

Vim-way deneyin:

ex -s +"g/MYAPP_HOME/d" -cwq file.txt
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.