使用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.