bash 别名与同上模拟 Finder 的存档吗?

bash 别名与同上模拟 Finder 的存档吗?

因此,我发现在 shell 中定义一个函数很有用,如下所示:

zip() { ditto -c -k --sequesterRsrc --keepParent "$1" "$1.zip" }

我将如何扩展它以获取任意数量的参数,然后,如果有多个参数,它会将它们全部存档到 Archive.zip 中,如果该文件名已被获取,它会将其保存为 Archive-1.zip, Archive -2.zip,还是 Archive-n.zip?

答案1

只是关于如何解决您的问题的想法。我还没有测试过这个

zippo() {  
  local n=1
  local f
  for f; do
     if [[ -e $f.zip ]]; then
      echo ditto -c -k --sequesterRsrc --keepParent "$f" "${f}-${n}.zip"
      ((n++))  
     else 
      echo ditto -c -k --sequesterRsrc --keepParent "$f" "$f.zip"
     fi
   done
 } 

就像我说的未经测试,但回声的存在只是为了确保您获得正确的输出。我没有ditto,所以我无法真正测试它。

相关内容