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 @@ | |||
262 | // Only relevant if BB_SH is enabled. | 262 | // Only relevant if BB_SH is enabled. |
263 | #define BB_FEATURE_SH_TAB_COMPLETION | 263 | #define BB_FEATURE_SH_TAB_COMPLETION |
264 | // | 264 | // |
265 | // Enable a simpler shell prompt of the form "path #" instead of the default | ||
266 | // "[username@hostname path]#". Some deeply embedded systems don't have | ||
267 | // usernames or even hostnames and the default prompt can look rather hideous | ||
268 | // on them. Uncomment this option for a simpler, path-only prompt (which was | ||
269 | // the default until around BusyBox-0.48): | ||
270 | #define BB_FEATURE_SH_SIMPLE_PROMPT | ||
271 | // | ||
265 | // Attempts to match usernames in a ~-prefixed path | 272 | // Attempts to match usernames in a ~-prefixed path |
266 | // XXX: Doesn't work without NSS, off by default | 273 | //#define BB_FEATURE_USERNAME_COMPLETION |
267 | //#define BB_FEATURE_USERNAME_COMPLETION /* require NSS */ | ||
268 | // | 274 | // |
269 | //Turn on extra fbset options | 275 | //Turn on extra fbset options |
270 | //#define BB_FEATURE_FBSET_FANCY | 276 | //#define BB_FEATURE_FBSET_FANCY |
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[]) | |||
779 | } | 779 | } |
780 | } | 780 | } |
781 | 781 | ||
782 | #if defined(BB_FEATURE_SH_SIMPLE_PROMPT) | ||
783 | static char* setup_prompt_string(int state) | ||
784 | { | ||
785 | char prompt_str[BUFSIZ]; | ||
786 | |||
787 | /* Set up the prompt */ | ||
788 | if (state == 0) { | ||
789 | /* simple prompt */ | ||
790 | sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# "); | ||
791 | } else { | ||
792 | strcpy(prompt_str,"> "); | ||
793 | } | ||
794 | |||
795 | return(strdup(prompt_str)); /* Must free this memory */ | ||
796 | } | ||
797 | |||
798 | #else | ||
799 | |||
782 | static char* setup_prompt_string(int state) | 800 | static char* setup_prompt_string(int state) |
783 | { | 801 | { |
784 | char user[9],buf[255],*s; | 802 | char user[9],buf[255],*s; |
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state) | |||
810 | return(strdup(prompt_str)); /* Must free this memory */ | 828 | return(strdup(prompt_str)); /* Must free this memory */ |
811 | } | 829 | } |
812 | 830 | ||
831 | #endif | ||
832 | |||
813 | static int get_command(FILE * source, char *command) | 833 | static int get_command(FILE * source, char *command) |
814 | { | 834 | { |
815 | char *prompt_str; | 835 | char *prompt_str; |
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[]) | |||
779 | } | 779 | } |
780 | } | 780 | } |
781 | 781 | ||
782 | #if defined(BB_FEATURE_SH_SIMPLE_PROMPT) | ||
783 | static char* setup_prompt_string(int state) | ||
784 | { | ||
785 | char prompt_str[BUFSIZ]; | ||
786 | |||
787 | /* Set up the prompt */ | ||
788 | if (state == 0) { | ||
789 | /* simple prompt */ | ||
790 | sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# "); | ||
791 | } else { | ||
792 | strcpy(prompt_str,"> "); | ||
793 | } | ||
794 | |||
795 | return(strdup(prompt_str)); /* Must free this memory */ | ||
796 | } | ||
797 | |||
798 | #else | ||
799 | |||
782 | static char* setup_prompt_string(int state) | 800 | static char* setup_prompt_string(int state) |
783 | { | 801 | { |
784 | char user[9],buf[255],*s; | 802 | char user[9],buf[255],*s; |
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state) | |||
810 | return(strdup(prompt_str)); /* Must free this memory */ | 828 | return(strdup(prompt_str)); /* Must free this memory */ |
811 | } | 829 | } |
812 | 830 | ||
831 | #endif | ||
832 | |||
813 | static int get_command(FILE * source, char *command) | 833 | static int get_command(FILE * source, char *command) |
814 | { | 834 | { |
815 | char *prompt_str; | 835 | char *prompt_str; |
diff --git a/shell/lash.c b/shell/lash.c index bd6945605..b3bdcc986 100644 --- a/shell/lash.c +++ b/shell/lash.c | |||
@@ -779,6 +779,24 @@ static void restore_redirects(int squirrel[]) | |||
779 | } | 779 | } |
780 | } | 780 | } |
781 | 781 | ||
782 | #if defined(BB_FEATURE_SH_SIMPLE_PROMPT) | ||
783 | static char* setup_prompt_string(int state) | ||
784 | { | ||
785 | char prompt_str[BUFSIZ]; | ||
786 | |||
787 | /* Set up the prompt */ | ||
788 | if (state == 0) { | ||
789 | /* simple prompt */ | ||
790 | sprintf(prompt_str, "%s %s", cwd, ( geteuid() != 0 ) ? "$ ":"# "); | ||
791 | } else { | ||
792 | strcpy(prompt_str,"> "); | ||
793 | } | ||
794 | |||
795 | return(strdup(prompt_str)); /* Must free this memory */ | ||
796 | } | ||
797 | |||
798 | #else | ||
799 | |||
782 | static char* setup_prompt_string(int state) | 800 | static char* setup_prompt_string(int state) |
783 | { | 801 | { |
784 | char user[9],buf[255],*s; | 802 | char user[9],buf[255],*s; |
@@ -810,6 +828,8 @@ static char* setup_prompt_string(int state) | |||
810 | return(strdup(prompt_str)); /* Must free this memory */ | 828 | return(strdup(prompt_str)); /* Must free this memory */ |
811 | } | 829 | } |
812 | 830 | ||
831 | #endif | ||
832 | |||
813 | static int get_command(FILE * source, char *command) | 833 | static int get_command(FILE * source, char *command) |
814 | { | 834 | { |
815 | char *prompt_str; | 835 | char *prompt_str; |