我正在用 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 后缀?
我想你想说“$file 的最后四个字符是否等于.txt?” 如果是这样,您可以使用以下内容:
.txt
if [ "${file: -4}" == ".txt" ]
请注意,和之间的空格file:是-4必需的,因为 ‘:-‘ 修饰符的含义不同。
file:
-4