busybox ash PS1 无法扩展

busybox ash PS1 无法扩展

ash我正在尝试在嵌入式系统上设置 busybox以支持扩展PS1提示语句。我目前将其设置为

PS1='\u@\h:\w\$ '

然而,所有显示的都是字面意思\u@\h:\w\$。我的环境变量是

  • HOSTNAME=linux
  • USER=root
  • 我的密码是/

那么应该显示的是root@linux:/$.我需要做一些特殊的事情才能PS1正确扩展吗?


我注意到的一件事是我的SHELL变量/bin/sh即使在我的/etc/inittab我有以下行

ttyO0::respawn:-/bin/bash

我想是这种情况,因为sh和都在 busybox 配置中bash别名。ash但是,我启用了以下选项:

  • bash-compatible extensions
  • Expand prompt string

答案1

如果已编译,Busybox 的 ash 或 hush 中的提示扩展始终处于启用状态,没有运行时方法可以将其关闭。检查它是否确实被编译。特别是在 ash 中,这FEATURE_EDITING还需要启用(“命令行编辑”)。

相关内容