写入文件在Linux中使用另一个组
发布时间:2020-12-14 00:30:59 所属栏目:Linux 来源:网络整理
导读:我有一个用户ID操作,它属于sysgroup,usergroup等多个组.当我在默认情况下写入其他用户目录时,它正在sysgroup下写入.但对于某些用户,我需要使用usergroup权限进行编写.我该如何实现这一目标? 这是我的示例代码 if ls n18_????_??????????.txt /dev/null; the
我有一个用户ID操作,它属于sysgroup,usergroup等多个组.当我在默认情况下写入其他用户目录时,它正在sysgroup下写入.但对于某些用户,我需要使用usergroup权限进行编写.我该如何实现这一目标?
这是我的示例代码 if ls n18_????_??????????.txt &> /dev/null; then cp n18_????_??????????.txt /export/home/user chgrp usergroup /export/home/user/n18_????_??????????.txt mv n18_????_??????????.txt $archDir fi 我正在复制然后更改组,所以每次它更改匹配模式的所有文件的组. 解决方法install 命令允许您在指定目标文件的所有权和权限时复制文件.
顺便说一下,你可能想避免parsing install --group usergroup n18_????_??????????.txt /export/home/user 2>/dev/null && mv n18_????_??????????.txt "$archDir" 请注意,这里存在竞争条件.如果在执行安装时出现与通配符匹配的新文件,则mv将移除它们,即使它们未被复制.如果您可以使用仅限Bash的构造,请尝试以下方法: list=( n18_????_??????????.txt ) # Expands the wildcard only once if [ -e "${list[0]}" ]; then install --group usergroup "${list[@]}" /export/home/user && mv "${list[@]}" "$archDir" fi 这是一个更好的解决方案,因为它会显示任何警告或错误消息,而在正常情况下安静地运行. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |