私はそれから文字列を削除しようとしています.bash_profile
。私のシェルスクリプトが実行されたら、次の文字列を追加します。
bash_profileの私の文字列は次のとおりです。
# for Myapllication
export MYAPP_HOME=/opt/myapp
.bash_profile
myappを削除して文字列を削除したいですrpm
。
シェルスクリプトを介してファイルから文字列を削除する方法は? (または可能な代替)
答え1
sed
(他のツールもあります)を使用してテキストファイルから文字列を削除できます。
たとえば、
sed -i -e '/myapp/d' .bash_profile
.bash_profile
文字列を含むすべての行から削除しますmyapp
。
答え2
このようなファイルは~/.bash_profile
ユーザーのホームディレクトリにあります。これらのファイルは完全にユーザーの制御下にあります。このようにグローバルに実行されるコマンドは、rpm
そのファイルを変更しないでください。
通常、rpmパッケージによって提供されるデフォルトの設定ファイルがあります。
その後、ルートが特定のシステムに固有のいくつかの基本設定を上書きするために使用できるグローバル構成ファイルがあります。
その後、ホームディレクトリには、個人設定に基づいてグローバル設定を上書きするために使用できる個人設定ファイルがあります。
このようなコマンドはrpm
最初のものだけを変更し、後者は変更しないでください。
答え3
sed -i '/^export MYAPP_HOME=\/opt\/myapp$/d' ~/.bash_profile
答え4
vimメソッドを試してください:
ex -s +"g/MYAPP_HOME/d" -cwq file.txt