我正在寻找一种方法来使用我自己的alias
es 和其他东西来自定义 Ash 会话。相当于 Bash 文件的 Ash 是什么bashrc
?
答案1
Ash 首先读取以下文件(如果存在):
- 系统:
/etc/profile
- 用户:
~/.profile
答案2
如果文件的完整路径包含在环境变量 ENV(或者可能是 SHINIT)中,则基于非登录“ash”或“dash”的 shell 也可以“获取”该文件。
因此,如果您以某种方式进行设置(也许在您的 ~/.profile 中,或其他一些“总体”环境控制中),那么任何未来的分叉 shell 都将运行该脚本。对于非登录情况非常方便。
示例:在您的 .profile 中,类似以下内容:
ENV=$HOME/.ashrc; export ENV
. $ENV
或者如果你喜欢明确:
ENV=/home/kwest/.ashrc; export ENV
# File in 'ENV' will be sourced for future shells. Also source it for this login shell:
. $ENV
请注意,您应该将 ENV 设置为完整的显式路径,如上面所示。不要使用“~”。
很难找到关于 ash/dash 的明确文档,但已证实它可以在 busybox-w32(在 Windows 上运行)上工作。事实上,很难找到关于 ash 功能集的好的文档。
更新:野外存在一系列白蜡树变种。 “ENV”可能不适用于所有这些。这里有一些有关变体的信息:https://www.in-ulm.de/~mascheck/various/ash/
那里建议某些 ash 变体可以使用“SHINIT”代替 ENV。
答案3
在 alipline 3.17 上的问题发生一年后,我找到了一个解决方案(可能不是最好的,欢迎任何评论)。
- 以 root 身份编辑
/etc/profile
以添加到此行之前的末尾unset script
:. $HOME/.profile
- 然后按照之前的描述在您的主目录中创建一个,
.profile
如下所示:ENV=$HOME/.ashrc; export ENV . $ENV
然后您可以.ashrc
在您的主目录中创建一个来设置别名或其他内容。