2014-12-01 94 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 
    ~$