使用Platypus随机化MAC地址[重复]


0

这个问题在这里已有答案:

我在Platypus中运行以下脚本,但MAC地址不会更改:

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

不再收到错误了。但是,脚本不会更改MAC地址。命令可以单独粘贴到终端,但不能作为Platypus的应用程序执行。

鸭嘴兽截图:

Platypus screenshot


您能否通过编辑问题,选择bash脚本并单击编辑框顶部栏中的“{}”来修复代码格式?
nohillside

你需要帮助什么部分? shell脚本是否有效?
Graham Miln

您的脚本代码有一堆智能引号,您应该使用直引号。还有,不必要的使用 grep | 什么时候 ifconfig $IF | awk '/ether/{print $2}' 做到了。
user3439894

Answers:


0

鸭嘴兽

使用 鸭嘴兽 从您的bash脚本创建应用程序。这种方法避免了需要使用AppleScript。

Platypus是一个开发人员工具,可以从命令行脚本(如shell脚本或Perl,Ruby和Python程序)创建本机Mac应用程序。这是通过将脚本与运行脚本的可执行二进制文件一起包装在macOS应用程序包中来完成的。

Platypus screenshot

其他方法

Mathias Bynens有一篇文章 如何从shell脚本创建简单的Mac应用程序

另外值得一读的是相关问题 如何使用shell脚本制作Mac OS X .app?


1
你的答案比复制品中的鸭嘴兽更好。如果将它移到原来的话会很好
Mark

如果错误与脚本无效有关, 问一个新问题 特别是关于错误。否则,你能编辑这个问题吗?
Graham Miln

格雷厄姆 - 我用Platypus从上面的脚本中创建了一个应用程序。该脚本运行无错误,但MAC地址不会更改。你能帮我理解为什么会这样吗?我正在运行Mojave 10.14.1。命令在终端中单独运行时有效,但在编译为应用程序时则无法运行。
isd503

sudo 在您的脚本中需要root权限。该脚本没有 错误检查 ,所以你得到错误但没有看到它们。
Graham Miln
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.