我的脚本中需要什么才能将属于 root 的目录结构的所有权更改为运行 bash 脚本的当前用户?

我的脚本中需要什么才能将属于 root 的目录结构的所有权更改为运行 bash 脚本的当前用户?

我的 bash 脚本有以下部分:

su root -c chown -R smithb:other /export/home/smithb/workspace/rootownsit/
exit

该目录rootownsit及其两个子目录是由 . 创建并拥有的root。我以为我上面的内容会起作用,但事实并非如此。以我的用户身份运行 bash 脚本时,系统会提示我输入 root 密码,然后chown在输入 root 密码后收到一条使用消息。我需要更改目录 rootownsit 及其子目录的所有权。

答案1

这是一个简单的语法问题。su采用单个(可选)命令参数,该参数由目标用户的登录 shell 进行解析。在这里,您以 root 身份运行的命令是 的参数-c,即chown。将命令放在脚本中的引号中,以便它成为单个参数。

su -c 'chown -R smithb:other /export/home/smithb/workspace/rootownsit/' root

内置命令exit退出脚本;如果您不希望发生这种情况,请不要打电话exit

相关内容