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
나는 이것이 비지박스 구성에서 와 가 모두 별칭으로 지정되어 있기 때문에 그런 경우라고 생각합니다 bash
. ash
그러나 다음 옵션이 활성화되어 있습니다.
bash-compatible extensions
Expand prompt string
답변1
컴파일된 경우 Busybox의 ash 또는 hush에 있는 프롬프트 확장은 항상 활성화되며 이를 끌 수 있는 런타임 방법은 없습니다. 실제로 컴파일되었는지 확인하십시오. 특히 Ash에서는 이 FEATURE_EDITING
기능도 활성화해야 합니다("명령줄 편집").