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.