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

如何用for循环为指定目录文件创建无版本号的符号链接?

解决方案

你可以用Bash的for循环结合字符串替换来实现需求,具体命令如下:

for file in /root/Desktop/match/jars/44a65820/*; do
    filename=$(basename "$file")
    linkname=${filename/-44a65820/}
    ln -s "$file" "/root/Desktop/match/jars/$linkname"
done

命令解释

  • for file in /root/Desktop/match/jars/44a65820/*:遍历44a65820目录下的所有文件(含子目录),如果只想处理Jar文件,把*替换为*.jar即可
  • filename=$(basename "$file"):提取文件的纯文件名(去掉完整路径)
  • linkname=${filename/-44a65820/}:通过Bash参数替换,把文件名中的-44a65820字符串删除,得到不带版本号的链接名
  • ln -s "$file" "/root/Desktop/match/jars/$linkname":创建符号链接,将原文件链接到上级目录的新文件名

额外说明

  • 如果上级目录已存在同名链接,命令会报错,需要覆盖的话,给ln加-f参数,即ln -sf "$file" "/root/Desktop/match/jars/$linkname"
  • 执行前确保你对目标目录(/root/Desktop/match/jars/)有写入权限

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.11 16:10:28