![在 Bash 脚本中找不到变量](https://linux22.com/image/1084202/%E5%9C%A8%20Bash%20%E8%84%9A%E6%9C%AC%E4%B8%AD%E6%89%BE%E4%B8%8D%E5%88%B0%E5%8F%98%E9%87%8F.png)
我编写了以下代码来创建一个目录,目录名称将类似于“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")