macOS Catalina 10.15(测试版)-为什么我的shell无法获取`。〜bash_profile`?

时间:2019-06-27 06:08:50

标签: shell terminal environment-variables macos-catalina

我想将添加到该行下方的环境变量设置为~/.bash_profile~/.profile,但是它不起作用。

export JBOSS_HOME=/Users/{USERNAME}/Desktop/jboss7

然后,退出终端并在执行echo $JBOSS_HOME时再次打开终端,我什么也没收到。
enter image description here

11 个答案:

答案 0 :(得分:68)

Apple已将默认外壳程序更改为zsh。因此,您必须重命名配置文件。 .bashrc现在为.zshrc.bash_profile现在为.zprofile

答案 1 :(得分:8)

如果由于某些原因(例如我)不想重命名/移动~/.bash_profile文件,则可以执行以下操作:

  1. 创建一个新文件~/.zprofile
  2. 在此处输入source ~/.bash_profile
  3. 保存并关闭
  4. 运行新的终端会话

答案 2 :(得分:3)

关闭“终端”窗口后,在该窗口中设置的变量将不再可用。如果希望变量的值在所有会话和所有“终端”窗口中保持不变,则必须在Shell启动脚本中进行设置。有关修改zsh Shell启动脚本以在多个会话中保留变量和其他设置的信息,请参阅zsh man page的“调用”部分。

您可以使用~/.zlogin添加变量。

签出this reference

答案 3 :(得分:0)

我创建了一个名为

的新文件

let ids = []; function fill_ids(obj) { for (i in obj) { if (i == '_id' || i == 'id') { ids.push(obj[i]); } else { fill_ids(obj[i]); } } } let obj = { _id: 1, children: [{ id: 2, children: [{ id: 21, children: [], }, { id: 22, children: [], }, { id: 23, children: [{ id: 231, children: [], }] }] }, { id: 3, children: [{ id: 31, children: [], }, { id: 32, children: [], isCriteria: true }, { id: 33, isCriteria: true }] }] }; fill_ids(obj); console.log(ids);

其中包含包装脚本:

/usr/local/bin/mybash

我从HomeBrew安装了此local / bin / bash。

全部事件

/usr/local/bin/bash --init-file $HOME/.bashrc

然后,我打开brew install bash echo "/usr/local/bin/bash --init-file $HOME/.bashrc" > /usr/local/bin/mybash chmod +x /usr/local/bin/mybash [cmd-逗号]的设置。在terminal.app标签下,选择General

的单选按钮

在文本框中,将文本从Command (complete path)更改为/bin/zsh/

Example of final format

答案 4 :(得分:0)

将bash配置文件更改为zsh配置文件也可以正常工作并提供源代码以供实际查看。

vikas@Vikas-Kumar ~ % mv .bash_profile .zsh_profile
vikas@Vikas-Kumar ~ % source .zsh_profile

答案 5 :(得分:0)

您可以创建一个Simbolic链接,并使用以下命令保留.bash_profile文件:

ln -s .bash_profile .zsh_profile
source .zsh_profile

.bash_profile中的任何更改都将反映在.zsh_profile中

答案 6 :(得分:0)

您只需复制现有的bash_profile并将其命名为zprofile即可。

  • 在终端中运行以下命令,然后在关闭和打开新终端后进行设置。

cp ~/.bash_profile ~/.zprofile

答案 7 :(得分:0)

即使使用 os Catalina /bin/bash 免费提供,也不需要 brew。只需创建您的 .bash_profile 并将终端设置中的 shell 设置为 /bin/bash。它会自动找到您的 .bash_profile。 z-shell 不是 bash-shell 并且简单地重命名在大多数情况下可以工作,但绝对不正确。

答案 8 :(得分:-1)

花了很长时间后终于可以解决了。根据@ user1934428的评论,我将登录shell形式从/bin/zsh更改为/bin/sh

iv

尽管我不知道有不同的登录外壳,但我尝试使用~/.bash_profile~/.profile来设置环境变量

答案 9 :(得分:-1)

cp zprofile ~/.zprofile

添加到.zprofile

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

例如由>vi .zprofile

完成

答案 10 :(得分:-1)

您不需要更新文件,zsh是mac的默认设置,请将其放在终端中。例如:

export ANDROID_HOME=$HOME/Library/Android/sdk
export PATH=$PATH:$ANDROID_HOME/emulator
export PATH=$PATH:$ANDROID_HOME/tools
export PATH=$PATH:$ANDROID_HOME/tools/bin
export PATH=$PATH:$ANDROID_HOME/platform-tools