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

View File

@ -12,7 +12,7 @@ module FormulaCellarChecks
<<-EOS.undent <<-EOS.undent
#{prefix_bin} is not in your PATH #{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 EOS
end end

View File

@ -291,6 +291,16 @@ def paths
end.uniq.compact end.uniq.compact
end 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 module GitHub extend self
ISSUES_URI = URI.parse("https://api.github.com/search/issues") ISSUES_URI = URI.parse("https://api.github.com/search/issues")