1 votes

erreur ifconfig montrant des erreurs invalides pour ifconfig en0 | grep ether

Chaque fois que je cours ifconfig en0 | grep ether cela me donne "ifconfig : arguments invalides" .

Plus tard, j'ai découvert qu'il y avait un problème avec ma commande ifconfig et qu'il ne s'agissait pas de la commande originale. La page de manuel de ifconfig dit GNU inetutils 1.9.3-dirty à la fin.

Comment puis-je récupérer l'original ?

0 votes

Utilisez-vous un Mac ? Le ifconfig est basée sur BSD, et non sur GNU.

0 votes

@Allan C'est une formule de brew installée probablement (inetutils ?)...

1 votes

Il suffit d'utiliser /sbin/ifconfig en0 | grep ether temporairement jusqu'à ce que le problème soit résolu...

2voto

klanomath Points 63400

Vous avez probablement installé inetutils 1.9.3 avec un gestionnaire de paquets comme brew ou MacPorts.

En plus des versions GNU de divers outils (telnet, rsh etc.), il installe également une version GNU de ifconfig.

Pour distinguer les outils GNU des outils MacOS portant le même nom, ils sont généralement liés depuis le répertoire d'installation (installé avec brew, c'est : /usr/local/opt/inetutils/gnubin) à un répertoire dans le PATH standard préfixé par un g (par exemple, ifconfig > gifconfig ou ftp > gftp).

Si vous ajoutez ce répertoire d'installation à votre variable PATH de manière à donner la préférence aux chemins standard, les outils GNU seront exécutés à la place des outils originaux.


Vérifiez votre variable PATH : echo $PATH . Vous verrez probablement quelque chose comme :

/usr/local/opt/inetutils/gnubin:/usr/local/bin:/usr/bin:/bin:...

Maintenant, éditez le fichier qui détermine votre variable PATH (probablement soit ~/.bashrc ou ~/.bash_profile) et supprimez le chemin de gnubin.

Exemple : nano ./bash_profile

...
export PATH="/usr/local/opt/inetutils/gnubin:/usr/local/mysql/bin:$PATH"
...

Changez cela en :

...
export PATH="/usr/local/mysql/bin:$PATH"
...

Fermez ensuite la fenêtre du Terminal ou relancez Terminal.app. Cela permettra de "réactiver" les versions standard des commandes. Les outils GNU sont toujours disponibles en entrant une commande précédée d'un préfixe g (par exemple gifconfig o gftp ).

0 votes

Hey my echo $PATH is /usr/local/opt/libxml2/bin:/opt/local/bin:/opt/local/sbin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Library/TeX/texbin:/Applications/Wireshark.app/Contents/MacOS

0 votes

@AMISHASHREYA Veuillez ajouter le résultat de echo $PATH dans votre question par édition il

1voto

Oskar Points 1242

La commande which indique le chemin d'accès d'une commande en cours d'exécution :

me@dev ~ % which ifconfig
/sbin/ifconfig

Donc, vous voyez sur ma machine de développement, le chemin standard du programme. Vous pourriez utiliser des chemins entièrement qualifiés pour obtenir les versions MacOS par défaut de ces outils et être "le plus canonique", quelles que soient les autres versions installées :

/sbin/ifconfig en0 | /usr/bin/grep ether

0 votes

Bonjour, merci beaucoup, mais pourriez-vous me dire comment changer mon ifconfig pour utiliser ce chemin par défaut ?

0 votes

Klanomath a corrigé ce détail supplémentaire @AMISHASHREYA - pourquoi ne pas archiver ou supprimer vos fichiers dot et configurer le, maintenant que vous savez que $PATH est ce qui permet à d'autres programmes de passer avant ceux du système.

LesApples.com

LesApples est une communauté de Apple où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres utilisateurs d'appareils Apple, poser vos propres questions ou résoudre celles des autres.

Powered by:

X