1
我想弄清楚如何编写Solaris 10的shell脚本,该脚本使用if语句查找框中的所有无主文件,打印文件名和位置并将它们分配给根所有者,如果他们是无主的。Shell脚本查找无主文件
在UNIX和shell脚本中使用unix是相当新的。
请帮忙。
我想弄清楚如何编写Solaris 10的shell脚本,该脚本使用if语句查找框中的所有无主文件,打印文件名和位置并将它们分配给根所有者,如果他们是无主的。Shell脚本查找无主文件
在UNIX和shell脚本中使用unix是相当新的。
请帮忙。
像这样的东西应该工作:
find/-nouser -exec echo chown root '{}' \;
一旦你满意的输出,去掉上面,然后重新运行该行echo
。
解剖上面的命令:
find
- 命令你执行/
- 开始在/
寻找文件(所以看的所有文件)-nouser
- 仅查找文件,文件的数字用户ID没有相应的条目/etc/passwd
-exec
- 对我们找到的所有文件运行以下命令b在前面的条件下运行echo chown root '{}' \;
- 为每个匹配的文件运行的命令。 {}
被替换为完整的文件名,并且;
被转义,因此find
看到它而不是shell将其看作是命令结束标记。的echo
是存在的,这样就可以验证适当的命令将可能运行chown
命令可能搞砸之前运行。
所以你运行上面的一次,确保其打印出的命令是好的,然后重新运行上面的find
命令,但你删除echo
使chown
的只是把打印出真正执行,而不是只。
我将如何将它变成if语句 – user3508234
您可以用您试图完成的任务更新您的问题吗? –
我编辑它。谢谢 – user3508234