Take the 2-minute tour ×
Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems.. It's 100% free, no registration required.

I want to setup a time prompt on PS1. But, there is no document about what are symbols the busybox support.

Is there any one know? Here are all which I knew.

PS1='\u@\h: \w \$'
share|improve this question

1 Answer 1

up vote 3 down vote accepted

BusyBox has two shells, ash and hush. To see which one you have, run type chdir: ash has it as a builtin (synonymous with cd), hush doesn't. Both have an optional prompt expansion feature. Ash's is enabled by activating the ASH_EXPAND_PRMT feature at compile time, while hush requires FEATURE_EDITING_FANCY_PROMPT.

When that feature is present, in ash the value of PS1 is expanded like a double-quoted string: $foo, $(command) and `command` constructs are expanded.

Some backslash escapes are processed (in ash, after substitutions). They are a subset of bash's.

  • \!: line history count
  • \a: bell
  • \b: backspace
  • \e, \E: escape
  • \f: form feed
  • \h: host name
  • \n: newline
  • '\r`: carriage return
  • \t: tab
  • \u: user name (only with FEATURE_GETUSERNAME_AND_HOMEDIR)
  • \v: vertical tab
  • \w: current directory, with ~ for the home directory (only with FEATURE_GETUSERNAME_AND_HOMEDIR)
  • \W: current directory (unabbreviated)
  • \xHH or \XHH where HH are two hexadecimal digits: a character given by its hex code
  • \[…\]: the enclosed text doesn't count for width calculation purposes

(If you're looking at the source code, this happens in parse_and_put_prompt in libbb/lineedit.c.)

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

Not the answer you're looking for? Browse other questions tagged or ask your own question.