我正在创建几个脚本来启动一些程序,然后在一个toplevel.sh脚本中重新调用它们,第一个脚本是一个toplevel_config.sh,其中我导出了我需要的所有路径:
export TARGET_FOLDER="home2/marwa/Desktop/folder/test_all/prot_x"
export TARGET_FILE="prot_x"
当我必须创建一个目录时,一切正常,除了在一个scrpit中,我有这个错误:
mkdir: cannot create directory ‘/top10_prot_x’: Permission denied
负责的脚本是:
results_path=${TRAGET_FOLDER}/sam_results/vmd_results/namd_results/*.out
top10_path=${TRAGET_FOLDER}/top10_${TARGET_FILE}
if [ ! -d "$top10_path" ]; then
mkdir "$top10_path"
fi
答案 0 :(得分:4)
你正试图在另一条路径上使用mkdir。
您的变量路径是:
results_path=${TRAGET_FOLDER}/sam_results/vmd_results/namd_results/*.out
top10_path=${TRAGET_FOLDER}/top10_${TARGET_FILE}
但你定义了
export TARGET_FOLDER="home2/marwa/Desktop/folder/test_all/prot_x"
export TARGET_FILE="prot_x"
所以$ {TRAGET_FOLDER} = null且不存在。
此外,'/ top10_prot_x'已经解释过了。
答案 1 :(得分:0)
检查权限和执行脚本的用户,尝试使用ls -l命令检查是否允许创建目录/文件。