1

我相信这应该是直截了当的,但要么我今天过得很糟糕,要么我根本找不到我要找的东西。

请帮忙。

我需要在 MAC 终端中运行以下命令才能删除以下条目:

sudo rm -Rf /Applications/Network\ Connect.app
sudo rm -Rf /Library/Frameworks/net.juniper.DSApplicationServices.framework
sudo rm -Rf /Library/Frameworks/net.juniper.DSCoreServices.framework
sudo rm -Rf /Library/Frameworks/net.juniper.DSNetworkDiagnostics.framework
sudo rm -Rf /Library/Internet\ Plug-ins/net.juniper.DSSafariExtensions.plugin
sudo rm -Rf /Library/Widgets/Network\ Connect.wdgt
sudo rm -Rf /usr/local/juniper
sudo rm -Rf /private/var/db/receipts/net.juniper.NetworkConnect.bom
sudo rm -Rf /private/var/db/receipts/net.juniper.NetworkConnect.plist
sudo rm -Rf ~/Library/Preferences/ncproxyd.plist

它完成了它的工作,但它并不完全优雅。我也在考虑将这个提供给我的同事,所以我想为 MAC 创建某种 .bat 文件。

我真的花了大约半天的时间试图弄清楚,但它不起作用:(

有人可以帮我创建一个 .sh 文件或 bash 文件来执行上述命令吗?

4

2 回答 2

3

创建一个脚本文件,假设它名为delete.sh 并添加以下行:-

#!/bin/bash
rm -Rf /Applications/Network\ Connect.app
rm -Rf /Library/Frameworks/net.juniper.DSApplicationServices.framework
rm -Rf /Library/Frameworks/net.juniper.DSCoreServices.framework
rm -Rf /Library/Frameworks/net.juniper.DSNetworkDiagnostics.framework
rm -Rf /Library/Internet\ Plug-ins/net.juniper.DSSafariExtensions.plugin
rm -Rf /Library/Widgets/Network\ Connect.wdgt
rm -Rf /usr/local/juniper
rm -Rf /private/var/db/receipts/net.juniper.NetworkConnect.bom
rm -Rf /private/var/db/receipts/net.juniper.NetworkConnect.plist
rm -Rf ~/Library/Preferences/ncproxyd.plist

然后,在终端中,您需要将可执行标志设置为脚本: -

chmod +x deletion.sh

请注意,当脚本复制到另一台机器或网络驱动器时,可执行标志可能会被删除,因此您可能必须在复制后执行此操作。

最后,您可以使用 sudo 调用脚本

sudo ./deletion.sh
于 2013-10-29T15:59:53.007 回答
0

如果你想创建一个批处理文件,你有一个。该命令列表就是您的 shell 脚本。要执行它,只需将 hem 保存到一个文件中,将bash命令添加到该文件名的前面:

$ bash commands_I_want_to_execute.txt

如果您想变得花哨,可以在顶部放一个shebang并使用chmod设置执行位。这将使您的脚本成为真正的shell 脚本。

但是,为了找到您的 shell 脚本,您需要在它前面加上一个路径,或者将它放在包含在您的PATH. 在这里,我将只是前缀它:

$ chmod a+x commands_I_want_to_execute.txt  # Suffix doesn't really matter. It's executable
$ ./commands_I_want_to_execute.txt          # Now this will be executed

如果你真的对后缀感到困扰,用mv命令改变它:

$ mv commands_I_want_to_execute.txt commands_I_want_to_execute.sh

注意:如果您使用文本编辑创建文件,请将其创建为纯文本文件,而不是 RTF 文件。

于 2013-12-18T19:52:41.827 回答