我已在我的剧本中写过
#!/usr/bin/bash
date=`dat '+%y%m%d_%H%M%S'`
Output=/Tamara/output_$date
echo $Output
`mkdir $Output`
但是当我运行脚本时,我得到以下内容:
/Tamara/output_23223_242222
mkdir: Failed to make directory "/Tamara/output_23223_342222'; No such file or directory
为什么会显示此错误?
答案 0 :(得分:2)
第1行:
#!/usr/bin/bash
为了更好的可移植性,应该是:
#!/bin/bash
第2行:
date=`dat '+%y%m%d_%H%M%S'`
这里的拼写应该是:
date=`date '+%y%m%d_%H%M%S'`
或更好:
date=$(date '+%y%m%d_%H%M%S')
甚至更好,以避免Y2.1K错误:
date=$(date '+%Y%m%d_%H%M%S')
第3行
Output=/Tamara/output_$date
/Tamara
可疑,~/Tamara
会更好(或者~Tamara
)。
第4行:
echo $Output
此行的代码没有问题,但如果它真的显示/Tamara/output_23223_242222
,那么这既是一个虚假的日期和时间。我期待像/Tamara/output_130817_215135
第5行:
`mkdir $Output`
这里有两个问题,反引号没有任何意义,缺少一个选项:
mkdir -p $Output