前提・実現したいこと
前提
Shellスクリプト で Uninstall.sh を作成しています。
インストールで入力したPATHを削除したいと考えています。
PATHは、「.bash_profile」の最下部に入力されています。
下記がインストール時のコマンドです。
bash
1$ echo 'export PATH=$PATH:$HOME/.origin/bin' >> ~/.bash_profile`
実現したいこと
「.bash_profile」に、特定の文字を含む行があった場合、
その文字列を含む行を削除するコードを書きたいと思っております。
そのため、現在下記コードを書いてみました。
bash
1path=`grep origin $HOME/.bash_profile` 2if [[ `grep origin $HOME/.bash_profile` ]] ; then 3 sed -i "s/$path//g" 4 source ~/.bash_profile 5else 6: 7fi
発生している問題・エラーメッセージ
発生したエラーメッセージは、下記の通りです。
bash
1sed: -e expression #1, char 37: unknown option to `s'
恐らく、sed の条件式の中に半角スペースが混じってしまい、
エラーが出てしまっているのかと思っています。
ただ、PATHを外から消したいのですが、他の手段が思い付きません。
試したこと
- if [-z 〜〜]と変更してみましたが、ファイル名を対象としてしまったため、条件に引っ掻からず。
- sed -i "s/$path//g"のsオプションを消したりしましたが、できませんでした。
回答3件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/02/15 07:45 編集