add method to detect shell profile file based on users' preference shell

Closes Homebrew/homebrew#38017.

Signed-off-by: Xu Cheng <xucheng@me.com>
This commit is contained in:
Xu Cheng 2015-03-24 21:03:20 +08:00
parent 28f26e0c9f
commit 453990f1aa
3 changed files with 14 additions and 4 deletions

View File

@ -570,7 +570,7 @@ def check_user_path_1
Consider setting your PATH so that #{HOMEBREW_PREFIX}/bin
occurs before /usr/bin. Here is a one-liner:
echo 'export PATH="#{HOMEBREW_PREFIX}/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="#{HOMEBREW_PREFIX}/bin:$PATH"' >> #{shell_profile}
EOS
end
end
@ -588,7 +588,7 @@ def check_user_path_2
<<-EOS.undent
Homebrew's bin was not found in your PATH.
Consider setting the PATH for example like so
echo 'export PATH="#{HOMEBREW_PREFIX}/bin:$PATH"' >> ~/.bash_profile
echo 'export PATH="#{HOMEBREW_PREFIX}/bin:$PATH"' >> #{shell_profile}
EOS
end
end
@ -602,7 +602,7 @@ def check_user_path_3
Homebrew's sbin was not found in your PATH but you have installed
formulae that put executables in #{HOMEBREW_PREFIX}/sbin.
Consider setting the PATH for example like so
echo 'export PATH="#{HOMEBREW_PREFIX}/sbin:$PATH"' >> ~/.bash_profile
echo 'export PATH="#{HOMEBREW_PREFIX}/sbin:$PATH"' >> #{shell_profile}
EOS
end
end

View File

@ -12,7 +12,7 @@ module FormulaCellarChecks
<<-EOS.undent
#{prefix_bin} is not in your PATH
You can amend this by altering your ~/.bashrc file
You can amend this by altering your #{shell_profile} file
EOS
end

View File

@ -291,6 +291,16 @@ def paths
end.uniq.compact
end
# return the shell profile file based on users' preference shell
def shell_profile
case ENV["SHELL"]
when %r{/(ba)?sh} then "~/.bash_profile"
when %r{/zsh} then "~/.zshrc"
when %r{/ksh} then "~/.kshrc"
else "~/.bash_profile"
end
end
module GitHub extend self
ISSUES_URI = URI.parse("https://api.github.com/search/issues")