我的 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
。