You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

请求修改Shell脚本:按目录文件数量变更目录所有者

修改Shell脚本实现按目录文件数量设置所有者

原脚本仅能通过目录是否为空设置所有者,现需调整为:目录内文件/条目数量超过4个时,所有者设为satha;数量少于等于4或目录为空时,设为lohith。

修改后的脚本

#!/bin/bash
DIR="/home/ec2-user/test1"

# 先检查目录是否存在
if [ ! -d "$DIR" ]; then
    echo "错误:目录 $DIR 不存在"
    exit 1
fi

# 统计目录下所有非.和..的条目数量(包含文件、子目录)
ITEM_COUNT=$(ls -A "$DIR" | wc -l)

# 若需仅统计文件数量,替换上面的统计命令为:
# FILE_COUNT=$(find "$DIR" -maxdepth 1 -type f | wc -l)

if [ "$ITEM_COUNT" -gt 4 ]; then
    chown satha "$DIR"
else
    chown lohith "$DIR"
fi

关键修改说明

  • 新增目录存在性检查,避免目录不存在时执行后续命令报错
  • 替换原空目录判断逻辑,改为统计目录内条目/文件数量:
    • ls -A "$DIR" | wc -l:统计所有非隐藏、隐藏的条目(排除.和..),与原脚本的判断范围一致
    • 若需求是仅统计文件,使用find "$DIR" -maxdepth 1 -type f | wc -l,仅统计当前目录下的普通文件
  • 使用-gt 4进行数值比较,判断数量是否超过4
  • 给$DIR添加双引号,避免目录名包含空格、特殊字符时出现异常

内容的提问来源于stack exchange,提问作者sathavahana

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.08 12:50:27