澄清:
所以我的问题比较笼统,并没有针对某个特定的工具,但是,我的问题是由于需要删除工具 jq 而导致的。我希望有一种更通用的方法来解决所有工具,但如果不可能,那么专门针对 jq 的方法将不胜感激。
的背景:
我在 Windows 上使用 git-bash 安装了 jq 工具,没有使用包管理器(例如 Chocolatey),方法是使用curl -L -o /usr/bin/jq.exe https://github.com/stedolan/jq/releases/latest/download/jq-win64.exe
这将 jq.exe 添加到文件夹中C:\Program Files\Git\usr\bin
我为我的团队创建了一个脚本来执行此安装,但出于各种原因,我们需要将其删除。我不想告诉每个团队成员都转到该文件夹并删除 jq.exe 文件。我也不想编写一个删除 exe 文件的脚本,因为我不确定删除 exe 文件是否构成正确的卸载,因此也许涉及更全面方法的解决方案会更好。
问题:
那么有没有办法通过命令行删除这个工具(或以类似方式通过 git-bash 安装的任何其他工具)(这样我就可以为它编写一个脚本),无论任何用户在哪里安装了他们的 Git 文件夹?
答案1
这取决于。
.exe
当您使用curl
(或wget
,甚至您的浏览器)下载二进制文件( )时,二进制文件可能会以多种方式运行,并且会导致需要以多种方式卸载它。
正如评论中提到的,jq.exe
这是一个默认不创建任何配置数据的二进制文件。因此删除它就足够了。
但是,您完全可以curl
下载以下二进制文件:
Windows 安装程序:在这种情况下,第一次运行 时
.exe
,其文件将通过正常的 Windows 安装方法安装。卸载将通过 Windows添加或删除程序设置页面。自解压存档:某些应用程序会解压下载内容中包含的文件。这些文件将位于当前目录或新创建的子目录中。在这种情况下,删除目录中的文件即可。
因此,最好在执行之前将下载的文件放在自己的目录中,以便您可以轻松识别已创建哪些文件以及需要删除哪些文件。
首次运行时创建配置数据的单二进制文件: 某些应用程序会在首次运行时自动在已知位置创建配置数据。
nu
例如,Nushell ( ) 就是其中之一。完全可以只下载nu
二进制文件,首次执行时,配置文件将在您的主目录中创建。在这种情况下,要完全删除文件,您可能需要参考文档或询问开发人员。自解压源档案:我已经很久没见过这种情况了(说实话,如果有的话,也是这种形式——我在这里描述的方式有点病态),但自解压档案的有效负载可能是需要构建/编译的应用程序的源代码,通常带有类似的东西
make install
(以及一些构建依赖项)。一些开发人员会包含一个make uninstall
,但其他人只需要你“使用来源,卢克”并确定需要删除的文件。
这些只是.exe
案例。正如评论中提到的,如果你没有在这里使用 Git Bash(也许是 Windows Subsystem for Linux),你可以使用curl
应用程序包裹然后由包管理器安装。在这种情况下,包管理器还将用于删除该应用程序。