【问题标题】:Wild Card Parameter from Oracle to unix Shell script从 Oracle 到 unix Shell 脚本的通配符参数
【发布时间】:2015-02-09 05:48:34
【问题描述】:
for file in ${l_file_path}/${l_file_name}
do
    if [ -f $file ] 
    then
            perform some operation;
    else
        echo "No files to process"
    fi          
done

l_file_name - 此变量取自 oracle 参数,例如:oracle.*.txt。使用上面的代码,它不会读取该目录中的文件。

结果:

No files to process

【问题讨论】:

    标签: shell unix oracle10g oracle-sqldeveloper


    【解决方案1】:
    for file in `ls ${l_file_path}/${l_file_name}`  
    do    
        if [ -f $file ] 
        then  
                perform some operation;  
        else  
            echo "No files to process"  
        fi          
    done
    

    【讨论】:

    • 在第一行的 ls 之前和最后一个 } 之后放 ` .. 我试过但由于某些格式我无法这样做
    • 您需要格式化代码块(使用{} 按钮,或手动在每行前面放置四个空格)。你能解释一下为什么需要反引号以及它们的作用吗?
    • 感谢@AlexPoole .. ` ` 中的内容被视为命令 .. 在这里它将列出变量“file”的所有必需文件
    • 是的,知道他们在做什么;我的意思是你可以更新答案以向 OP 解释它,因为它不会很明显 - 比仅仅在评论中更好。谢谢。
    • 如果不是纯代码答案会更好。解释代码的作用使其更有价值。
    猜你喜欢
    • 2017-09-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-03-12
    • 2013-12-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多