linux - Shell脚本变量结构

标签 linux shell unix variables

如何创建文件名格式如下的变量: 文件名模式: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)

最佳答案

SNAPSHOT=SnapshotIR${TODAY}\*.csv

当你给出 $(.....) 时,它表示 shell 执行大括号内的命令。 我猜你只是在形成文件名。

同时删除空格:

SNAPSHOT<space>=<space>

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

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

关于linux - Shell脚本变量结构,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14829106/

相关文章:

linux - "Failed to load platform plugin "xcb ""在没有安装 qt 的情况下在 linux 上启动 qt5 应用程序

regex - 更改文件夹中的所有匹配项

linux - Node 服务器错误时 "node index.js"(EADDRINUSE)

linux - 使用 shell 脚本从主机名或 FQDN 获取 IP

linux: 为什么我不能搜索/sys/class 但我可以搜索/sys

macos - Bash pwd 并打开管道不工作

linux - 如何从脚本内部获取 BASH 脚本的完整调用命令(不仅仅是参数)

android - bash脚本或Python解析gradle依赖

shell - bash脚本,该脚本使用sftp下载文件

linux - 如何通过给定的 View 路径获取 ClearCase 流名称?