diff options
-rw-r--r-- | Config.h | 10 | ||||
-rw-r--r-- | lash.c | 20 | ||||
-rw-r--r-- | sh.c | 20 | ||||
-rw-r--r-- | shell/lash.c | 20 |
4 files changed, 68 insertions, 2 deletions
@@ -262,9 +262,15 @@ // Only relevant if BB_SH is enabled. #define BB_FEATURE_SH_TAB_COMPLETION // +// Enable a simpler shell prompt of the form "path #" instead of the default +// "[username@hostname path]#". Some deeply embedded systems don't have +// usernames or even hostnames and the default prompt can look rather hideous +// on them. Uncomment this option for a simpler, path-only prompt (which was +// the default until around BusyBox-0.48): +#define BB_FEATURE_SH_SIMPLE_PROMPT +// // Attempts to match usernames in a ~-prefixed path -// XXX: Doesn't work without NSS, off by default -//#define BB_FEATURE_USERNAME_COMPLETION /* require NSS */ +//#define BB_FEATURE_USERNAME_COMPLETION // //Turn on extra fbset options //#define BB_FEATURE_FBSET_FANCY @@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[]) } } +#if defined(BB_FEATURE_SH_SIMPLE_PROMPT) +static char* setup_prompt_string(int state) +{ + char prompt_str[BUFSIZ]; + + /* Set up the prompt */ + if (state == 0) { + /* simple prompt */ + sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# "); + } else { + strcpy(prompt_str,"> "); + } + + return(strdup(prompt_str)); /* Must free this memory */ +} + +#else + static char* setup_prompt_string(int state) { char user[9],buf[255],*s; @@ -810,6 +828,8 @@ static char* setup_prompt_string(int state) return(strdup(prompt_str)); /* Must free this memory */ } +#endif + static int get_command(FILE * source, char *command) { char *prompt_str; @@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[]) } } +#if defined(BB_FEATURE_SH_SIMPLE_PROMPT) +static char* setup_prompt_string(int state) +{ + char prompt_str[BUFSIZ]; + + /* Set up the prompt */ + if (state == 0) { + /* simple prompt */ + sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# "); + } else { + strcpy(prompt_str,"> "); + } + + return(strdup(prompt_str)); /* Must free this memory */ +} + +#else + static char* setup_prompt_string(int state) { char user[9],buf[255],*s; @@ -810,6 +828,8 @@ static char* setup_prompt_string(int state) return(strdup(prompt_str)); /* Must free this memory */ } +#endif + static int get_command(FILE * source, char *command) { char *prompt_str; diff --git a/shell/lash.c b/shell/lash.c index bd69456..b3bdcc9 100644 --- a/shell/lash.c +++ b/shell/lash.c @@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[]) } } +#if defined(BB_FEATURE_SH_SIMPLE_PROMPT) +static char* setup_prompt_string(int state) +{ + char prompt_str[BUFSIZ]; + + /* Set up the prompt */ + if (state == 0) { + /* simple prompt */ + sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# "); + } else { + strcpy(prompt_str,"> "); + } + + return(strdup(prompt_str)); /* Must free this memory */ +} + +#else + static char* setup_prompt_string(int state) { char user[9],buf[255],*s; @@ -810,6 +828,8 @@ static char* setup_prompt_string(int state) return(strdup(prompt_str)); /* Must free this memory */ } +#endif + static int get_command(FILE * source, char *command) { char *prompt_str; |