在 Bash 脚本中找不到变量

在 Bash 脚本中找不到变量

我编写了以下代码来创建一个目录,目录名称将类似于“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")

相关内容