我需要在执行的shell脚本的当前directoy中创建一个文件夹。当我自己执行脚本但是当它由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
如果有更好的方法,请随时给我看看!