1

我正在创建一个 bash 脚本来删除 Mac 上的用户帐户。

当我拉起终端并输入命令时

sudo dscl . delete /users/username
sudo rm -rf /users/username

成功删除所需帐户并删除用户文件。

但是,当我创建一个 bash 脚本来执行此操作时......

#!/bin/bash
sudo dscl . delete /users/username
sudo rm -rf /users/username

我得到错误

delete: Invalid Path
<dscl_cmd> DS Error: -14009 (eDSUnknownNodeName)

非常奇怪的行为我无法弄清楚,尽管这可能是一个简单的错误。

编辑:在我的原始脚本中,我在做其他事情中的循环,但在这篇文章中,我将问题简化为包装在 bash 脚本中的几个命令。

谢谢你的帮助。

4

1 回答 1

1

我想我会回来为任何试图在 Mac 上删除用户配置文件的人回答这个问题。我遇到的最初问题是由于我的机器本地存在一些奇怪的路径异常,但这是最终脚本。如您所见,我为我不想删除的配置文件内置了一个硬编码的排除列表。

这可以改进,但这是一种基本的方法。

#!/bin/bash
for d in /users/*/;
do
    if [ "$d" != "/users/exclusionprofile1/" ] && [ "$d" != "/users/exclusionprofile2/" ]; then
           echo "$d"
           sudo rm -rf "$d"
    fi
done
于 2020-10-27T04:30:31.367 回答