Ash 配置文件/配置文件

Ash 配置文件/配置文件

我正在寻找一种方法来使用我自己的aliases 和其他东西来自定义 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在您的主目录中创建一个来设置别名或其他内容。

相关内容