【发布时间】:2010-09-29 06:17:26
【问题描述】:
我正在用 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 后缀?
【问题讨论】:
-
如果您的文件名中有空格,这将中断。
-
除了Paul的回答,你可以使用
$(dirname $PATH_TO_SOMEWHERE)和$(basename $PATH_TO_SOMEWHERE)来拆分文件夹和目录,做一些directory-ish和file-ish