为什么手动执行而不是从脚本执行时我会发现cmd产生结果

时间:2019-07-15 06:25:43

标签: shell

我正在从命令行执行此命令

code   stock_need 
1234       200          
5678       240      
1234       700          
5678       200          
0123       200  

它产生

70

但是当我在脚本中运行它时却没有。 特殊之处在于,在脚本中,我将路径作为GLOB值传递,并且find为我解决了该问题。 那是

find -L /lorem/ipsum/dolor/ /lorem/ipsum1/dolor/ /lorem3/ipsum/dolor/  -regex '.*[0-9]_[0-9].*log.*?' -mtime +14 -type f | wc -l
脚本中的

命令:

CLEANUPFOLDER="/lorem/**/dolor/"

我试图在新脚本中复制已解决的发现,并且有效

1 个答案:

答案 0 :(得分:0)

我忘了说的是,那时我正在过去

  

/ lorem / ipsum / dolor / / lorem / ipsum1 / dolor / / lorem3 / ipsum / dolor / -regex   '。* [0-9] _ [0-9]。 log。?'

作为命令的变量

喜欢

  

VAR1 =“ / lorem / ipsum / dolor / / lorem / ipsum1 / dolor / / lorem3 / ipsum / dolor /   -regex'。* [0-9] _ [0-9]。 log。?'“

     

找到$ VAR1 .....

现在的问题还在于,发现将“ ...或/”和“ ..- rege”之间的空间解释为不是参数之间的分隔符,而是某种程度上作为文件夹的一部分... 所以发现出错了,错误消息被隐藏了。.

现在我做到了

  

bash -c“ find .....”并且立刻起作用....

谢谢大家,对事情的不好解释很抱歉:-(