Add home directory syntax to shell.
This commit is contained in:
parent
5260d22492
commit
e249533d99
|
@ -136,7 +136,7 @@ readcmd:
|
||||||
if ( strcmp(argv[0], "cd") == 0 )
|
if ( strcmp(argv[0], "cd") == 0 )
|
||||||
{
|
{
|
||||||
internal = true;
|
internal = true;
|
||||||
const char* newdir = "/";
|
const char* newdir = getenv_safe("HOME", "/root");
|
||||||
if ( argv[1] ) { newdir = argv[1]; }
|
if ( argv[1] ) { newdir = argv[1]; }
|
||||||
if ( chdir(newdir) )
|
if ( chdir(newdir) )
|
||||||
{
|
{
|
||||||
|
@ -282,8 +282,21 @@ int get_and_run_command(FILE* fp, const char* fpname, bool interactive,
|
||||||
const char* print_username = getenv_safe("USERNAME", "root");
|
const char* print_username = getenv_safe("USERNAME", "root");
|
||||||
const char* print_hostname = getenv_safe("HOSTNAME", "sortix");
|
const char* print_hostname = getenv_safe("HOSTNAME", "sortix");
|
||||||
const char* print_dir = getenv_safe("PWD", "?");
|
const char* print_dir = getenv_safe("PWD", "?");
|
||||||
printf("\e[32m%s@%s \e[36m%s #\e[37m ", print_username, print_hostname,
|
const char* home_dir = getenv_safe("HOME", "/root");
|
||||||
print_dir);
|
size_t home_dir_len = strlen(home_dir);
|
||||||
|
printf("\e[32m");
|
||||||
|
printf("%s", print_username);
|
||||||
|
printf("@");
|
||||||
|
printf("%s", print_hostname);
|
||||||
|
printf(" ");
|
||||||
|
printf("\e[36m");
|
||||||
|
if ( home_dir_len && strncmp(print_dir, home_dir, home_dir_len) == 0 )
|
||||||
|
printf("~%s", print_dir + home_dir_len);
|
||||||
|
else
|
||||||
|
printf("%s", print_dir);
|
||||||
|
printf(" ");
|
||||||
|
printf("#");
|
||||||
|
printf("\e[37m ");
|
||||||
fflush(stdout);
|
fflush(stdout);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue