Je suis occupé à coder un terminal simple en C sur Minix 3.1. Les commandes simples telles que touch a.txt
ou date
fonctionnent parfaitement. Mais quand je crée un répertoire tel que mkdir test
, il crée un répertoire appelé USER=root
et quand j'en essaye un autre, il est écrit USER=root: already exists
. Je suis connecté en tant que root. J'utilise execvp() en C pour exécuter les commandes du terminal.Répertoire bizarre créé après l'exécution de mkdir après fork dans Minix (USER = root)
ls
me donne ceci:
(null): HOME=/root: No such file or directory
(null): PAGER=more: No such file or directory
(null): LOGNAME=root: No such file or directory
(null): TERM=minix: No such file or directory
(null): PATH=/root/bin:/usr/local/bin:/vin:/usr/bin: No such file or directory
(null): SHELL=/bin/sh: No such file or directory
(null): TZ=GMT0: No such file or directory
(null): EDITOR=vi: No such file or directory
USER=root:
Est-ce que quelqu'un sait ce que cela signifie réellement et comment je peux résoudre ce problème. J'ai essayé tout ce que je pouvais penser dans mon code pour essayer de résoudre ce problème, mais rien n'a fonctionné.
Im appelant executeCommand
d'une autre fonction qui retourne simplement l'état de loopShell
Montrez-nous votre code. J'ai une idée de ce qui pourrait se passer, mais savoir vaut mieux que de deviner. – duskwuff
Quelque chose mélange la liste d'environnement avec la liste d'arguments. – Pointy
@ Anton.P Il n'utilise pas bash et cela n'a rien à voir avec tout .bashrc. – Jens