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
还需要启用(“命令行编辑”)。