Jak usunąć ciąg znaków z pliku za pomocą skryptów powłoki?


9

Próbuję usunąć ciąg znaków z .bash_profile. Ciąg jest dodawany po uruchomieniu skryptu powłoki:

Mój ciąg w bash_profile w następujący sposób:

# for Myapllication
export MYAPP_HOME=/opt/myapp

Chcę usunąć ciągi, .bash_profilegdy myapp jest usuwany za pośrednictwem rpm.

Jak usunąć dowolny ciąg z pliku za pomocą skryptu powłoki? (lub możliwa metoda alternatywna)

Odpowiedzi:


11

Możesz usunąć ciąg z pliku tekstowego za pomocą sed (istnieją inne narzędzia).

Na przykład:

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

usuwa z .bash_profile każdej linii zawierającej ciąg myapp.


10

Plik taki jak ~/.bash_profilemieszka w katalogu domowym użytkownika. Taki plik jest całkowicie pod kontrolą użytkownika. Globalne polecenia działające jak rpmnie powinny zmieniać takich plików.

  • Zwykle masz podstawowy plik konfiguracyjny, który jest dostarczany przez pakiet rpm.

  • Następnie masz globalny plik konfiguracyjny, którego root może użyć do zastąpienia niektórych preferencji specyficznych dla danego systemu.

  • Następnie masz osobiste pliki konfiguracyjne w swoim katalogu domowym, których możesz użyć do zastąpienia globalnego ustawienia własnymi preferencjami.

Polecenie takie rpmpowinno zmienić tylko pierwsze i nigdy nie zmieniać drugiego.


Czy możesz zasugerować adres URL do sprawdzenia w tym temacie?
Gyhot

1
@Gyhot unix.stackexchange.com/questions/77518/... jest dobry. Jeśli twoja dystrybucja docelowa ma /etc/profile.dkatalog, upuść tam plik zawierający tę exportlinię. W przeciwnym razie możesz edytować /etc/profile, ale uważaj, aby nie zniszczyć dostosowań przez administratora systemu.
Gilles „SO- przestań być zły”


Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.