Shell脚本变量结构

时间:2013-02-12 09:17:35

标签: linux shell unix variables

如何使用文件名格式创建变量,如: FileName模式:SnapshotIR__somenumber.csv

我尝试过类似的事情:

TODAY=$(date +"%m%d%Y")    
SNAPSHOT = $(SnapshotIR$TODAY*.csv)

我得到的错误如下:

test.sh: line 2: SnapshotIR02122013_2239.csv: command not found
test.sh: line 2: SNAPSHOT: command not found

所以,当我想使用if

if [ -f SnapshotIR$TODAY*.csv]  -> works 
if [ -f ${SNAPSHOT} ]           -> does not work (I get the above error)

1 个答案:

答案 0 :(得分:0)

SNAPSHOT=SnapshotIR${TODAY}\*.csv

当你给$(.....)它说shell在大括号内执行命令。 我想你只是在形成文件名。

也删除空格:

SNAPSHOT<space>=<space>

我还想添加通配符“*”不适用于-f标志。

for file in $SNAPSHOT
do
        if [ -f "$file" ]
        then
                FOUND="$file"
                break
        fi
done