Shell 当前目录中带有crontab的Mkdir

Shell 当前目录中带有crontab的Mkdir,shell,unix,crontab,mkdir,Shell,Unix,Crontab,Mkdir,我需要在我正在执行的shell脚本的当前目录中创建一个文件夹。当我自己执行脚本时,这段代码工作得非常好,但是当它被crontab执行时,它总是在用户配置文件的顶层创建文件夹 #Where $log_folder is a certain path if [ ! -d "$log_folder" ]; then mkdir -m a=rwx $log_folder fi 因此,如果我从以下路径执行脚本: /export/home/nz/tmp/test/Gen

我需要在我正在执行的shell脚本的当前目录中创建一个文件夹。当我自己执行脚本时,这段代码工作得非常好,但是当它被crontab执行时,它总是在用户配置文件的顶层创建文件夹

#Where $log_folder is a certain path
if [ ! -d "$log_folder" ]; then            
      mkdir -m a=rwx $log_folder
fi
因此,如果我从以下路径执行脚本: /export/home/nz/tmp/test/GenerateScript.sh,文件夹将在/export/home/nz/(其中nz是我的用户)中创建,而不是在/export/home/nz/tmp/test/中

是否还有其他选项需要添加到mkdir中,还是需要添加到crontab中?我已将crontab中的用户配置文件与以下内容链接:

$HOME/.bash_profile
多谢各位

编辑:

在创建文件夹之前,我可以通过添加这两行代码来实现我的目的

 DIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
 cd $DIR

如果有更好的方法,请随时告诉我

您可能想看看这个问题:我想这样做,但问题是我不知道脚本将驻留在哪个目录中,而且据我所知,它可能在下周的另一个目录中。。。所以我不确定是否使用cd。啊,找到了一种方法。谢谢你的帮助,骆驼先生。