aboutsummaryrefslogtreecommitdiff
path: root/shell
diff options
context:
space:
mode:
Diffstat (limited to 'shell')
-rw-r--r--shell/ash.c15
1 files changed, 14 insertions, 1 deletions
diff --git a/shell/ash.c b/shell/ash.c
index 216f1c4e9..715adc393 100644
--- a/shell/ash.c
+++ b/shell/ash.c
@@ -3060,7 +3060,12 @@ static void shellexec(char **argv, char **envp, const char *path, int idx)
char *cmdname;
int e;
- if (strchr(argv[0], '/') != NULL) {
+ if (strchr(argv[0], '/') != NULL
+#ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
+ || find_applet_by_name(argv[0])
+#endif
+ )
+ {
tryexec(argv[0], argv, envp);
e = errno;
} else {
@@ -3539,6 +3544,14 @@ find_command(const char *name, struct cmdentry *entry, int act,
return;
}
+#ifdef CONFIG_FEATURE_SH_STANDALONE_SHELL
+ if (find_applet_by_name(name)) {
+ entry->cmdtype = CMDNORMAL;
+ entry->u.index = -1;
+ return;
+ }
+#endif
+
updatetbl = 1;
if (act & DO_BRUTE) {
firstchange = path_change(path, &bltin);