echo创建的目录名称

时间:2015-09-07 07:05:59

标签: shell scripting

我试图回复我在脚本中创建的新目录。

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

但是,新创建的目录在屏幕上回显。我在这里失踪了什么?

2 个答案:

答案 0 :(得分:1)

  1. app.controller('myCntrl',function($scope){ var seen = {}; //You can filter based on Id or Name based on the requirement var uniqueStudents = studentsList.filter(function(item){ if(seen.hasOwnProperty(item.Id)){ return false; }else{ seen[item.Id] = true; return true; } }); $scope.students = uniqueStudents; }); 似乎打印出创建的目录,而mkdir -v在我的系统上完全静默(在Mac OS X和Ubuntu Linux上测试)。但是,您仍需要从此输出中解析出目录名称:
  2.     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 "'\`" )
    
    
    1. 您可能希望使用-p开关来创建完整的目录层次结构。 (是的,MOST机器上会存在mkdir,但有时事情可能会被搞砸......)。

答案 1 :(得分:0)

var =`cmd` 捕获cmd的输出并存储在$ var中。但 mkdir 成功输出任何内容,因此$ BACKUP_DIR为空。

  

BACKUP_DIR =" / tmp /" $ TICKET_NUM" _EAR_BACKUP _" $(日期" +%Y%m%d")

     

mkdir $ BACKUP_DIR

     

echo $ BACKUP_DIR

这应该有用。