我编写了以下代码来创建一个目录,目录名称将类似于“nowt_hour_nimute_second”。但该代码在 Bash Shell 中失败。
#THIS CODE WILL CREATE A DIRECTORY WITH TIME OF CREATION AS PART OF DIRECTORY NAME
#AUTHOR: SUBIR ADHIKARI
#DATE: 02/12/2014
echo "The time is $(date +%H_%M_%S)"
now=$(date +%H_%M_%S)
echo $now
echo $(pwd)
createdep=nowt_$now
echo $(createdep)
mkdir createdep
执行时,我得到以下输出......
The time is 01_12_30
01_12_30
/home/adhikarisubir/test/basic_unix
createfiles.sh: 10: createfiles.sh: createdep: not found
我在这里遗漏了什么?
答案1
就像错误所说的那样:createdep 不是一个程序。
改变这个:
echo $(createdep)
mkdir createdep
更改为:
echo "$createdep"
mkdir "$createdep"
请注意,格式字符串date
也可以包含常规字符,因此不需要“now”变量:
createdep=$(date +"nowt_%H_%M_%S")