5 votes

Où se trouve la commande precmd dans Android ?

Je suis un peu habitué à Linux. J'utilise Busybox à partir de l'installateur Busybox Free, avec Busybox 1.21.0-Stericson. J'essaie de faire coïncider mon shell avec celui de Busybox en utilisant busybox ash donne l'erreur suivante après chaque commande :

ash: precmd: not found
echo $PS1
$(precmd)$USER@$HOSTNAME:${PWD: -?} $ 

J'ai essayé de revenir au shell normal et de trouver OÙ est precmd :

which precmd

Cela change juste l'invite pour avoir " 1| "devant elle, sans me dire où elle se trouve. J'ai trouvé une solution aquí mais je ne sais pas où le mettre. J'essaie essentiellement de faire la même chose que cette question (faire du shell Busybox le shell par défaut).

1voto

Milner Points 533

Si vous utilisez Connectbot : selon un article à XDA-Developers ce n'est rien d'autre qu'une erreur cosmétique :

Connectbot semble définir la variable shell 'PS1' comme suit : "$(precmd)$USER@$HOSTNAME:${PWD:-?} $ ".
Cela signifie que votre shell (l'applet ash de busybox) essaiera d'utiliser la sortie de 'precmd' comme partie d'une invite de commande. Ainsi, si 'precmd' n'a pas été fourni, des messages d'erreur seront générés à chaque fois qu'une invite sera affichée.

Pour résoudre ce problème, l'article mentionné dit que vous pouvez utiliser PS1="> " (ou simplement unset PS1 ) pour contourner cette erreur.

androidalle.com

AndroidAlle est une communauté de androiders où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X