是否可以删除bash shell的自定义配置文件脚本以在登录时加载? (没有sudo而没有编辑.bashrc,.bash_profile,.bash_login)

时间:2015-01-21 17:51:23

标签: bash shell

我已经阅读了bash启动时加载的配置文件脚本:https://www.gnu.org/software/bash/manual/html_node/Bash-Startup-Files.html

我确实看到它找到了众所周知的文件:

  

当Bash作为交互式登录shell或作为具有--login选项的非交互式shell调用时,它首先从文件/ etc / profile中读取并执行命令(如果该文件存在)。在读取该文件之后,它按顺序查找〜/ .bash_profile,〜/ .bash_login和〜/ .profile,并从存在且可读的第一个命令中读取并执行命令。启动shell以禁止此行为时,可以使用--noprofile选项。

我希望能够在我的shell开始时加载自定义配置文件脚本,例如:https://github.com/xvoland/Extract/blob/master/extract.sh 我想要的与我在gnu.org上看到的略有不同。我不想编辑标准的.bash *文件来添加它:

if [ -f ~/.init/extract.sh ]; then
    . ~/.init/extract.sh
fi

我希望有一种方法可以让非root用户轻松地在〜/ .init这样的目录中放入自定义shell init脚本,并期望它们在自己的shell启动时运行。如果适用于任何shell,无论是bash,fish,zsh等,都会很棒。

作为开发人员和队友,向他人提供shell脚本,然后说服他们编辑他们的.bash *文件有点棘手。另外,我可以在nodejs npm项目上工作,将项目添加到允许〜/ npm_modules运行的路径,类似于全局安装:

export PATH="~/node_modules/.bin:$PATH"

如果只有一个名为〜/ .init的目录,只影响当前用户并且不需要root,那么只需将新文件复制到该文件夹​​即可。它比编辑.bash *文件更容易/更安全。

有没有办法以这种方式包含init脚本?

0 个答案:

没有答案