【发布时间】:2015-07-21 14:09:53
【问题描述】:
我想要用户使用 zenity 从任何地方选择文件,脚本将检测文件扩展名,例如 (.tar.gz) 或 (.zip),并相应地对它们执行操作。这是一个例子。
#! /bin/bash
FILE=$(zenity --file-selection --title="Select a file to check")
echo "File: $FILE"
if [ "$FILE" = "*.zip" ]
then
echo "File that is a .zip found"
FILENAMENOEXT="${FILE%.*}"
echo "Filename with extention $FILENAMENOEXT"
#Perform xx action to $FILE if it is a zip
elif [ "$FILE" = "*.tar.gz" ]
then
echo "File is a .tar.gz found"
FILENAMENOEXT="${FILE%.tar.*}"
echo "Filename with extention $FILENAMENOEXT"
#Perform xx action to $FILE if it is a t.tar.gz
else
echo "File is neither .zip nor .tar.gz"
fi
echo "test $FILENAMENOEXT"
【问题讨论】:
-
旁注:如果您希望您的工具通过文件内容识别文件(例如,因为某些文件是
.tar.gz而其他文件是.tgz),file工具可能会派上用场。例如。file -b --mime-type something.tar.gz会给你application/gzip。 -
在获得 .zip 和 .tar.gz 文件后要执行什么操作?