前段时间我安装了byobu并运行byobu-enable
它仍然没有自动启动,我只是忽略了它,因为我可以直接按超级并打开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
目录
所以,我切换了发行版(出于其他原因),我发现了问题,以防有人需要它。
我使用 zsh 作为我的主 shell,它使用
.zprofile
而不是.profile
, bash 使用了女巫。所以解决方案是使用该.zprofile
文件或使用 bash 只是为了使用.profile
,然后,在它获得来源后,您可以将 shell 更改为 zsh(或 ksh、dash、fish 等),您只需要添加export SHELL=/bin/zsh
您的.profile
chsh -s $(which bash)
考虑到您已which
安装命令,您可以轻松地更改 shell 。