0 votes

Randomiser l'adresse MAC en utilisant Platypus

J'exécute le script suivant dans Platypus mais l'adresse MAC ne change pas :

#!/bin/zsh

IF=en7

mac=`ifconfig $IF | awk '/ether/{print $2}'`
echo "$IF mac before change=$mac"
randmac=`openssl rand -hex 6 | sed 's/\(..\)/\1:/g; s/.$//'`
sudo ifconfig $IF ether $randmac
mac=`ifconfig $IF | awk '/ether/{print $2}'`
echo "$IF mac after change=$mac"

Je ne reçois plus d'erreurs. Cependant, l'adresse MAC n'est pas modifiée par le script. Les commandes fonctionnent individuellement collées dans le Terminal, mais ne sont pas exécutées comme une application par Platypus.

Capture d'écran de l'ornithorynque :

Platypus screenshot

0 votes

Pouvez-vous corriger le formatage de votre code en éditant votre question, en sélectionnant le bash script et en cliquant sur le "{}" dans la barre en haut de la boîte d'édition ?

0 votes

Quelle est la partie pour laquelle vous avez besoin d'aide ? Le shell script fonctionne-t-il ?

0 votes

Votre code script contient un grand nombre de guillemets intelligents et vous devriez utiliser des guillemets droits. De même, l'utilisation inutile de grep | quand ifconfig $IF | awk '/ether/{print $2}' fait les deux.

0voto

Graham Miln Points 39606

L'ornithorynque

Utilisez L'ornithorynque pour créer une application à partir de votre script bash. Cette approche évite d'avoir à utiliser AppleScript.

Platypus est un outil de développement qui crée des applications Mac natives à partir de scripts de ligne de commande tels que des scripts ou des programmes Perl, Ruby et Python. Ceci est fait en enveloppant le scripts dans un bundle d'application MacOS avec un binaire exécutable qui exécute le scripts.

Platypus screenshot

Autres approches

Mathias Bynens propose un article sur Comment créer des applications Mac simples à partir de scripts shell scripts. .

La question connexe mérite également d'être lue Comment faire une .app Mac OS X avec un shell script ?

1 votes

Votre réponse est meilleure que celle de l'ornithorynque dans le duplicata. Il serait bien de la déplacer vers l'original.

0 votes

Si l'erreur est liée au fait que le script ne fonctionne pas, poser une nouvelle question spécifiquement à propos de l'erreur. Sinon, pouvez-vous modifier cette question ?

0 votes

Graham - J'ai utilisé Platypus pour créer une application à partir du script ci-dessus. Le script fonctionne sans erreur, mais l'adresse MAC n'est pas modifiée. Pouvez-vous m'aider à comprendre pourquoi cela se produit ? Je travaille sous Mojave 10.14.1. Les commandes fonctionnent lorsqu'elles sont exécutées individuellement dans Terminal, mais pas lorsqu'elles sont compilées en tant qu'application.

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