通常我使用zip
以下命令:
zip -r my_arch.zip my_folder
zip
现在我在 bash 脚本中这样使用:
#!/bin/bash
OUT=$1
NAME=$2
zip -r -q $OUT/$NAME $OUT/$NAME
我使用以下命令调用该脚本:
./mySrcipt /home/edevise/foo myFiles
打开生成的 zip 文件显示,使用完整路径来压缩文件夹foo
。例如,打开 zip 文件会显示该home
文件夹,我需要浏览所有后续文件夹,直到看到我的文件夹foo
。
如何改编剧本仅压缩文件夹foo
?
PS:请不要怀疑脚本的意义。它只是一个例子来说明问题。
答案1
如果您只希望 zip 文件中有相对路径,则应cd
在脚本中添加一个命令:
#!/bin/bash
OUT="$1"
NAME="$2"
cd "$OUT"
zip -r -q "$NAME" "$NAME"
cd -