Randomizza l'indirizzo MAC usando Platypus [duplicato]


0

Questa domanda ha già una risposta qui:

Sto eseguendo il seguente script in Platypus ma l'indirizzo MAC non cambia:

#!/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"

Non ricevo più errori. Tuttavia, l'indirizzo MAC non viene modificato dallo script. I comandi funzionano singolarmente incollati nel terminale, ma non vengono eseguiti come un'applicazione da Platypus.

Screenshot di Platypus:

Platypus screenshot


Puoi correggere la formattazione del codice modificando la tua domanda, selezionando lo script di bash e facendo clic su "{}" nella barra in cima alla casella di modifica?
nohillside

Con quale parte hai bisogno di aiuto? Lo script della shell funziona?
Graham Miln

Il tuo codice di script ha un sacco di citazioni intelligenti e dovresti usare le virgolette. Inoltre, l'uso inutile di grep | quando ifconfig $IF | awk '/ether/{print $2}' fa entrambe le cose.
user3439894

Risposte:


0

Ornitorinco

Uso Ornitorinco per creare un'applicazione dal tuo script bash. Questo approccio evita di dover utilizzare AppleScript.

Platypus è uno strumento per sviluppatori che crea applicazioni Mac native da script da riga di comando come script di shell o programmi Perl, Ruby e Python. Questo viene fatto avvolgendo lo script in un pacchetto di applicazioni macOS insieme a un eseguibile che esegue lo script.

Platypus screenshot

Altri approcci

Mathias Bynens ha un articolo su Come creare semplici app per Mac da script di shell .

Vale anche la pena leggere la domanda correlata Come creare un Mac OS X .app con uno script di shell?


1
La tua risposta è migliore di quella dell'ornitorinco nel duplicato Sarebbe bello se questo fosse stato spostato all'originale
Mark

Se l'errore è correlato allo script non funzionante, fai una nuova domanda in particolare sull'errore. Altrimenti, puoi modificare questa domanda?
Graham Miln

Graham - Ho usato Platypus per creare un'applicazione fuori dallo script sopra. Lo script viene eseguito senza errori, ma l'indirizzo MAC non viene modificato. Puoi aiutarmi a capire perché sta succedendo? Sto eseguendo Mojave 10.14.1. I comandi funzionano quando vengono eseguiti singolarmente in Terminal, ma non quando sono compilati come app.
isd503

sudo nel tuo script richiede i privilegi di root. Lo script ha no controllo degli errori , quindi stai ricevendo errori ma non li vedi.
Graham Miln
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.