shell: Use .profile unless .bash_profile exists
This commit is contained in:
parent
390778f2a5
commit
133ee7966d
@ -3,7 +3,7 @@
|
|||||||
#: Print export statements. When run in a shell, this installation of Homebrew will be added to your `PATH`, `MANPATH`, and `INFOPATH`.
|
#: Print export statements. When run in a shell, this installation of Homebrew will be added to your `PATH`, `MANPATH`, and `INFOPATH`.
|
||||||
#:
|
#:
|
||||||
#: The variables `HOMEBREW_PREFIX`, `HOMEBREW_CELLAR` and `HOMEBREW_REPOSITORY` are also exported to avoid querying them multiple times.
|
#: The variables `HOMEBREW_PREFIX`, `HOMEBREW_CELLAR` and `HOMEBREW_REPOSITORY` are also exported to avoid querying them multiple times.
|
||||||
#: Consider adding evaluation of this command's output to your dotfiles (e.g. `~/.bash_profile` or `~/.zprofile`) with: `eval $(brew shellenv)`
|
#: Consider adding evaluation of this command's output to your dotfiles (e.g. `~/.profile`, `~/.bash_profile`, or `~/.zprofile`) with: `eval $(brew shellenv)`
|
||||||
|
|
||||||
homebrew-shellenv() {
|
homebrew-shellenv() {
|
||||||
case "$SHELL" in
|
case "$SHELL" in
|
||||||
|
@ -243,7 +243,8 @@ Environment variables specific to Homebrew Cask:
|
|||||||
* `HOMEBREW_CASK_OPTS`:
|
* `HOMEBREW_CASK_OPTS`:
|
||||||
This variable may contain any arguments normally used as options on
|
This variable may contain any arguments normally used as options on
|
||||||
the command-line. This is particularly useful to make options persistent.
|
the command-line. This is particularly useful to make options persistent.
|
||||||
For example, you might add to your .bash_profile or .zshenv something like:
|
For example, you might add to your ~/.profile, ~/.bash_profile, or ~/.zshenv
|
||||||
|
something like:
|
||||||
|
|
||||||
export HOMEBREW_CASK_OPTS='--appdir=~/Applications --fontdir=/Library/Fonts'
|
export HOMEBREW_CASK_OPTS='--appdir=~/Applications --fontdir=/Library/Fonts'
|
||||||
|
|
||||||
|
@ -4,19 +4,19 @@ require "utils/shell"
|
|||||||
|
|
||||||
describe Utils::Shell do
|
describe Utils::Shell do
|
||||||
describe "::profile" do
|
describe "::profile" do
|
||||||
it "returns ~/.bash_profile by default" do
|
it "returns ~/.profile by default" do
|
||||||
ENV["SHELL"] = "/bin/another_shell"
|
ENV["SHELL"] = "/bin/another_shell"
|
||||||
expect(subject.profile).to eq("~/.bash_profile")
|
expect(subject.profile).to eq("~/.profile")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns ~/.bash_profile for sh" do
|
it "returns ~/.profile for sh" do
|
||||||
ENV["SHELL"] = "/bin/sh"
|
ENV["SHELL"] = "/bin/sh"
|
||||||
expect(subject.profile).to eq("~/.bash_profile")
|
expect(subject.profile).to eq("~/.profile")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns ~/.bash_profile for Bash" do
|
it "returns ~/.profile for Bash" do
|
||||||
ENV["SHELL"] = "/bin/bash"
|
ENV["SHELL"] = "/bin/bash"
|
||||||
expect(subject.profile).to eq("~/.bash_profile")
|
expect(subject.profile).to eq("~/.profile")
|
||||||
end
|
end
|
||||||
|
|
||||||
it "returns /tmp/.zshrc for Zsh if ZDOTDIR is /tmp" do
|
it "returns /tmp/.zshrc for Zsh if ZDOTDIR is /tmp" do
|
||||||
|
@ -39,9 +39,15 @@ module Utils
|
|||||||
|
|
||||||
# return the shell profile file based on user's preferred shell
|
# return the shell profile file based on user's preferred shell
|
||||||
def profile
|
def profile
|
||||||
return "#{ENV["ZDOTDIR"]}/.zshrc" if preferred == :zsh && ENV["ZDOTDIR"].present?
|
case preferred
|
||||||
|
when :bash
|
||||||
|
bash_profile = "#{ENV["HOME"]}/.bash_profile"
|
||||||
|
return bash_profile if File.exist? bash_profile
|
||||||
|
when :zsh
|
||||||
|
return "#{ENV["ZDOTDIR"]}/.zshrc" if ENV["ZDOTDIR"].present?
|
||||||
|
end
|
||||||
|
|
||||||
SHELL_PROFILE_MAP.fetch(preferred, "~/.bash_profile")
|
SHELL_PROFILE_MAP.fetch(preferred, "~/.profile")
|
||||||
end
|
end
|
||||||
|
|
||||||
def set_variable_in_profile(variable, value)
|
def set_variable_in_profile(variable, value)
|
||||||
@ -67,12 +73,12 @@ module Utils
|
|||||||
end
|
end
|
||||||
|
|
||||||
SHELL_PROFILE_MAP = {
|
SHELL_PROFILE_MAP = {
|
||||||
bash: "~/.bash_profile",
|
bash: "~/.profile",
|
||||||
csh: "~/.cshrc",
|
csh: "~/.cshrc",
|
||||||
fish: "~/.config/fish/config.fish",
|
fish: "~/.config/fish/config.fish",
|
||||||
ksh: "~/.kshrc",
|
ksh: "~/.kshrc",
|
||||||
mksh: "~/.kshrc",
|
mksh: "~/.kshrc",
|
||||||
sh: "~/.bash_profile",
|
sh: "~/.profile",
|
||||||
tcsh: "~/.tcshrc",
|
tcsh: "~/.tcshrc",
|
||||||
zsh: "~/.zshrc",
|
zsh: "~/.zshrc",
|
||||||
}.freeze
|
}.freeze
|
||||||
|
@ -114,7 +114,7 @@ sudo cpan local::lib
|
|||||||
|
|
||||||
Note that this will install some other dependencies like `Module::Install`.
|
Note that this will install some other dependencies like `Module::Install`.
|
||||||
Then put the appropriate incantation in your shell’s startup, e.g. for
|
Then put the appropriate incantation in your shell’s startup, e.g. for
|
||||||
`.bash_profile` you insert the below, for others see the
|
`.profile` you insert the below, for others see the
|
||||||
[`local::lib`](https://metacpan.org/pod/local::lib) docs.
|
[`local::lib`](https://metacpan.org/pod/local::lib) docs.
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
@ -435,7 +435,7 @@ ones). No online search is performed.
|
|||||||
Print export statements. When run in a shell, this installation of Homebrew will be added to your `PATH`, `MANPATH`, and `INFOPATH`.
|
Print export statements. When run in a shell, this installation of Homebrew will be added to your `PATH`, `MANPATH`, and `INFOPATH`.
|
||||||
|
|
||||||
The variables `HOMEBREW_PREFIX`, `HOMEBREW_CELLAR` and `HOMEBREW_REPOSITORY` are also exported to avoid querying them multiple times.
|
The variables `HOMEBREW_PREFIX`, `HOMEBREW_CELLAR` and `HOMEBREW_REPOSITORY` are also exported to avoid querying them multiple times.
|
||||||
Consider adding evaluation of this command's output to your dotfiles (e.g. `~/.bash_profile` or `~/.zprofile`) with: `eval $(brew shellenv)`
|
Consider adding evaluation of this command's output to your dotfiles (e.g. `~/.profile`, `~/.bash_profile`, or `~/.zprofile`) with: `eval $(brew shellenv)`
|
||||||
|
|
||||||
### `switch` *`formula`* *`version`*
|
### `switch` *`formula`* *`version`*
|
||||||
|
|
||||||
|
@ -8,7 +8,7 @@ You must configure your shell to enable its completion support. This is because
|
|||||||
|
|
||||||
## Configuring Completions in `bash`
|
## Configuring Completions in `bash`
|
||||||
|
|
||||||
To make Homebrew's completions available in `bash`, you must source the definitions as part of your shell's startup. Add the following to your `~/.bash_profile` file:
|
To make Homebrew's completions available in `bash`, you must source the definitions as part of your shell's startup. Add the following to your `~/.profile` file:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
if type brew &>/dev/null; then
|
if type brew &>/dev/null; then
|
||||||
|
@ -274,7 +274,7 @@ Environment variables specific to Homebrew Cask:
|
|||||||
.
|
.
|
||||||
.TP
|
.TP
|
||||||
\fBHOMEBREW_CASK_OPTS\fR
|
\fBHOMEBREW_CASK_OPTS\fR
|
||||||
This variable may contain any arguments normally used as options on the command\-line\. This is particularly useful to make options persistent\. For example, you might add to your \.bash_profile or \.zshenv something like:
|
This variable may contain any arguments normally used as options on the command\-line\. This is particularly useful to make options persistent\. For example, you might add to your ~/\.profile, ~/\.bash_profile, or ~/\.zshenv something like:
|
||||||
.
|
.
|
||||||
.IP "" 4
|
.IP "" 4
|
||||||
.
|
.
|
||||||
|
@ -576,7 +576,7 @@ Search for \fItext\fR in the given package manager\'s list\.
|
|||||||
Print export statements\. When run in a shell, this installation of Homebrew will be added to your \fBPATH\fR, \fBMANPATH\fR, and \fBINFOPATH\fR\.
|
Print export statements\. When run in a shell, this installation of Homebrew will be added to your \fBPATH\fR, \fBMANPATH\fR, and \fBINFOPATH\fR\.
|
||||||
.
|
.
|
||||||
.P
|
.P
|
||||||
The variables \fBHOMEBREW_PREFIX\fR, \fBHOMEBREW_CELLAR\fR and \fBHOMEBREW_REPOSITORY\fR are also exported to avoid querying them multiple times\. Consider adding evaluation of this command\'s output to your dotfiles (e\.g\. \fB~/\.bash_profile\fR or \fB~/\.zprofile\fR) with: \fBeval $(brew shellenv)\fR
|
The variables \fBHOMEBREW_PREFIX\fR, \fBHOMEBREW_CELLAR\fR and \fBHOMEBREW_REPOSITORY\fR are also exported to avoid querying them multiple times\. Consider adding evaluation of this command\'s output to your dotfiles (e\.g\. \fB~/\.profile\fR, \fB~/\.bash_profile\fR, or \fB~/\.zprofile\fR) with: \fBeval $(brew shellenv)\fR
|
||||||
.
|
.
|
||||||
.SS "\fBswitch\fR \fIformula\fR \fIversion\fR"
|
.SS "\fBswitch\fR \fIformula\fR \fIversion\fR"
|
||||||
Symlink all of the specified \fIversion\fR of \fIformula\fR\'s installation into Homebrew\'s prefix\.
|
Symlink all of the specified \fIversion\fR of \fIformula\fR\'s installation into Homebrew\'s prefix\.
|
||||||
|
Loading…
x
Reference in New Issue
Block a user