![.profile 未被引用](https://linux22.com/image/926359/.profile%20%E6%9C%AA%E8%A2%AB%E5%BC%95%E7%94%A8.png)
前段时间我安装了 byobu 并运行了byobu-enable
,但它仍然没有自动启动,我只是忽略了它,因为我可以直接按 super 并打开 byobu 终端。但现在我尝试设置一些变量,并在 上找到了这一行~/.profile
:
byobu_sourced=1 . /usr/bin/byobu-launch 2>/dev/null || true
即使我在那里设置了任何东西,~/.profile
文件也永远不会被引用。我知道它永远不会被引用,因为我在$HOME/bin
那里设置并echo $PATH
输出:
/usr/local/clang_9.0.0/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games
当我运行source ~/.profile
那里的所有内容时,它完全按照我预期的方式工作,但这不是 .profile 行为。
我的〜/ .profile:
# ~/.profile: executed by the command interpreter for login shells.
# This file is not read by bash(1), if ~/.bash_profile or ~/.bash_login
# exists.
# see /usr/share/doc/bash/examples/startup-files for examples.
# the files are located in the bash-doc package.
# the default umask is set in /etc/profile; for setting the umask
# for ssh logins, install and configure the libpam-umask package.
#umask 022
# if running bash
if [ -n "$BASH_VERSION" ]; then
# include .bashrc if it exists
if [ -f "$HOME/.bashrc" ]; then
. "$HOME/.bashrc"
fi
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/bin" ] ; then
PATH="$HOME/bin:$PATH"
fi
# set PATH so it includes user's private bin if it exists
if [ -d "$HOME/.local/bin" ] ; then
PATH="$HOME/.local/bin:$PATH"
fi
_byobu_sourced=1 . /usr/bin/byobu-launch 2>/dev/null || true
有任何想法吗?
编辑:我有$HOME/bin
目录
答案1
因此,我切换了发行版(出于其他原因)并找到了问题,以防有人需要它。
我使用 zsh 作为我的主要 shell,它使用 bash 使用的.zprofile
而不是.profile
。因此,解决方案是使用文件.zprofile
或使用 bash 来使用.profile
,然后在获取源代码后,您可以将 shell 更改为 zsh(或 ksh、dash、fish 等),您只需在export SHELL=/bin/zsh
您的.profile
chsh -s $(which bash)
如果你已经which
安装了命令,你就可以轻松地用 来更改shell 。