zip 命令使用正在压缩的文件名

zip 命令使用正在压缩的文件名

我试图将文件存档在目录中,并在 zip 文件名中使用该文件的文件名,而不知道文件名。我有这个命令:

zip -FSmT (what to put here?).zip I805_test.txt

问题是:如何在不知道输入文件名的情况下使用I805_test.txt并创建文件名?I805_test.txt.zip

我认为我需要使用系统变量,但我不确定是哪个或如何实现。

答案1

编写一个辅助函数(包装器)。例如,

function zip_this_file(){
   zip -FSmT "$1.zip" "$1"
}

这仅需要一个文件名作为参数并执行您想要的操作。当然,您可以制作一个适当的包装器并允许用户将选项传递给zip、验证参数、检查文件是否存在等等......这取决于您想要什么。如果在一个脚本中需要这一点,则将其保留为该形式。否则,请更清楚地指定您要在什么上下文中调用它。

相关内容