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나는 이것이 비지박스 구성에서 와 가 모두 별칭으로 지정되어 있기 때문에 그런 경우라고 생각합니다 bash. ash그러나 다음 옵션이 활성화되어 있습니다.

  • bash-compatible extensions
  • Expand prompt string

답변1

컴파일된 경우 Busybox의 ash 또는 hush에 있는 프롬프트 확장은 항상 활성화되며 이를 끌 수 있는 런타임 방법은 없습니다. 실제로 컴파일되었는지 확인하십시오. 특히 Ash에서는 이 FEATURE_EDITING기능도 활성화해야 합니다("명령줄 편집").

관련 정보