2014-12-01 54 views
0

为什么我无法将输出从shell脚本输出到文件dir_中?将脚本输出到文件

这里是脚本的命令:

用户ID]#六script.sh

 
#! /bin/bash 
echo `grep -w 7171 $ABC` > /home/username/dir/dir_$(date +%Y%m%d_%H%M%S).csv 

用户ID]#./script.sh ./script.sh:第13行:/首页/用户名/目录/ dir_20141201_160840.csv:没有这样的文件或目录

嗯,我希望脚本创建一个新的文件。

请指出解决方法。

问候, 阿希什

+0

是否'/首页/用户名/ dir'存在吗?而且'echo'完全没有必要,并且积极地引起'grep'结果中空格的问题。 – 2014-12-01 15:34:32

+0

是的,/ dir确实存在。那么,它应该如何写得更好呢? – ErAB 2014-12-01 15:35:16

+1

'grep -w 7171“$ ABC”> ...''那里几乎不需要'echo'。 – 2014-12-01 15:37:46

回答

1

如何

([ ! -d /home/username/dir/ ] && mkdir /home/username/dir/) && grep -w 7171 $ABC > /home/username/dir/dir_$(date +%Y%m%d_%H%M%S).csv 
  • [ ! -d /home/username/dir/ ]测试:你必须创建它。

  • rep -w 7171 $ABC > /home/username/dir/dir_$(date +%Y%m%d_%H%M%S).csv grep的结果到文件

0

可能是因为dir不存在。如果该目录存在

  • mkdir /home/username/dir/创建,如果它不存在的目录

    ~$ echo "a" > f 
    ~$ echo "a" > dir/f 
    -bash: dir/f: No such file or directory 
    ~$ mkdir dir 
    ~$ echo "a" > dir/f 
    ~$