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

如何用Bash获取目录中子目录名并执行对应的curl命令

解决方案

方法一:遍历专辑目录(适配固定结构)

直接遍历/mnt/ripped_audio下的专辑目录,拼接出music_tracks路径后执行curl命令:

#!/bin/bash

# 定义CD抓取的根目录
RIPPED_ROOT="/mnt/ripped_audio"

# 遍历根目录下的所有专辑子目录
for album_dir in "$RIPPED_ROOT"/*/; do
    # 拼接该专辑对应的music_tracks完整路径
    tracks_path="${album_dir}music_tracks"
    
    # 验证路径是否为有效目录
    if [ -d "$tracks_path" ]; then
        # 替换为你的音乐客户端实际需要的curl命令
        curl -X POST "音乐客户端API地址" -F "import_path=$tracks_path"
        
        # 可选:输出日志记录
        echo "$(date) 已提交导入:$tracks_path" >> ~/music_import.log
    fi
done

方法二:用find命令直接定位music_tracks目录

如果专辑目录结构有变动,或需要批量扫描所有music_tracks目录,用find命令更灵活:

#!/bin/bash

# 查找所有music_tracks目录并遍历
find /mnt/ripped_audio -type d -name "music_tracks" | while read tracks_path; do
    # 执行导入的curl命令
    curl -X POST "音乐客户端API地址" -F "import_path=$tracks_path"
    
    # 可选:日志记录
    echo "$(date) 已提交导入:$tracks_path" >> ~/music_import.log
done

使用说明

  1. 替换脚本中的音乐客户端API地址为实际接口地址,调整curl的请求方法、表单字段等参数以匹配客户端要求。
  2. 给脚本添加执行权限:chmod +x import_music.sh
  3. 如需自动定期执行,可添加cron定时任务(示例:每天凌晨1点执行):
    0 1 * * * /home/your_user/import_music.sh >> /var/log/music_import_cron.log 2>&1
    

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.09 05:32:37