如何检查bash脚本中文件名的扩展名?

我在bash写一个每夜构建脚本。
一切都很好,除了一个小钩子:


#!/bin/bash

for file in "$PATH_TO_SOMEWHERE"; do
      if [ -d $file ]
      then
              # do something directory-ish
      else
              if [ "$file" == "*.txt" ]       #  this is the snag
              then
                     # do something txt-ish
              fi
      fi
done;

我的问题是确定文件扩展名,然后相应地执行。我知道问题是在if语句,测试txt文件。

如何确定文件是否有.txt后缀?

我想你想说“是$文件的最后四个字符等于.txt吗?如果是,您可以使用以下方法:

if [ ${file: -4} == ".txt" ]

请注意,文件:和-4之间的空格是必需的,因为’: – ‘修饰符意味着不同。

http://stackoverflow.com/questions/407184/how-to-check-the-extension-of-a-filename-in-a-bash-script

本站文章除注明转载外,均为本站原创或编译
转载请明显位置注明出处:如何检查bash脚本中文件名的扩展名?