Shell-Script
如何在shell腳本中將字元串與萬用字元字元串進行比較?
我想在
ksh
shell 腳本中將文件名字元串與文件遮罩進行比較。你能更正語法嗎?if [ "NPER20200422TEST.PTN" = "NPER*.PTN" ] then echo "File matched" else echo "File not matched" fi
我想將我的文件字元串與給定的文件遮罩匹配。
if [[ "NPER20200422TEST.PTN" == NPER*.PTN ]]
使用雙括號條件,並且特殊的通配元字元必須不加引號。
在類似 Bourne 的外殼中,包括
ksh
,這就是case
構造的用途:case NPER20200422TEST.PTN in (NPER*.PTN) echo "File matched";; (*) echo "File not matched";; esac
請注意,在 Bourne shell(一個歷史上已不再使用的 shell,儘管許多人一直
sh
對它感到困惑)中,您必須省略(
s. 在標準( POSIX )實現中允許使用(*)
或。*)``sh