【发布时间】:2014-08-21 01:30:23
【问题描述】:
使用 bash 脚本在 OS X 上运行:
sourceFile=`basename $1`
shopt -s nocasematch
if [[ "$sourceFile" =~ "adUsers.txt" ]]; then echo success ; else echo fail ; fi
上述方法可行,但如果用户获取一个名为 adUsers_new.txt 的文件怎么办?
我试过了:
if [[ "$sourceFile" =~ "adUsers*.txt" ]]; then echo success ; else echo fail ; fi
但通配符在这种情况下不起作用。
我正在编写此脚本以允许用户对源文件名进行不同的迭代,源文件名必须以 aduser 开头并具有 .txt 文件扩展名。
【问题讨论】:
-
我相信你不需要引用
=~运营商的RHS。
标签: bash if-statement pattern-matching string-matching