2015-09-07 50 views
0

我試圖回顯我在腳本中創建的新目錄。echo創建的目錄名稱

BACKUP_DIR=`mkdir /tmp/"$TICKET_NUM"_EAR_BACKUP_"$(date "+%Y%m%d")"` 
echo $BACKUP_DIR 

但是,新創建的目錄在屏幕中回顯。我在這裏失蹤了什麼?

+0

看看這個問題:http://stackoverflow.com/questions/4668640/how-to-execute-command-stored-in-a-variable – BigMike

回答

0

var =`cmd`捕獲cmd的輸出並存儲在$ var中。但是mkdir沒有成功輸出,所以$ BACKUP_DIR是空的。

BACKUP_DIR = 「/ TMP /」 $ TICKET_NUM 「_EAR_BACKUP _」 $(日期 「+%Y%米%d」)

MKDIR $ BACKUP_DIR

回聲$ BACKUP_DIR

這應該工作。

0
  1. mkdir -v似乎打印出創建的目錄,而mkdir是我的系統(在Mac OS X和Ubuntu Linux測試)徹底無語。但是,你仍然需要從這個輸出解析出的目錄名稱:
 
    mkdir /tmp/foo 
    (no output) 

    mkdir -v /tmp/foo 
    mkdir: created directory `/tmp/foo' 

    DIR=$(mkdir -v /tmp/foo | cut -d\ -f4- | tr -d "'\`") 
    echo $DIR 
    /tmp/foo 

所以你的情況:

 
BACKUP_DIR=$(mkdir /tmp/"$TICKET_NUM"_EAR_BACKUP_"$(date "+%Y%m%d")" | cut -d\ -f4- | tr -d "'\`") 

  • 您可能需要使用-p開關以創建完整的目錄層次結構。 (是的,/tmp將存在於大多數機器上,但有時可能真的搞砸了......)。
  • 相關問題