我在 shell 脚本中设置了一个函数,该函数检查文件夹是否存在,如果不存在,则尝试创建它,如果它不能创建文件夹(例如,如果用户没有正确的权限)返回 1 . 然后我检查了这个“return”,但是我不明白为什么“if”不起作用,因为return等于1。
代码:
#!/bin/bash
# Main folders
INPUT="input"
OUTPUT="output"
# Functions
function checkFolderExist(){
if [ -d $1 ]
then
# 0 = true
# Change to 0, only for tests.
return 1
else
mkdir $1
result=$?
if [ result==0 ]
then
# 0 = true
return 0
else
# 1 = false
return 1
fi
fi
}
CHECKINPUT=$(checkFolderExist $INPUT)
echo $?
CHECKOUTPUT=$(checkFolderExist $OUTPUT)
echo $?
# If folders does not exist, exit the script
if [[ "$CHECKINPUT" = 1 || "$CHECKOUTPUT" = 1 ]]; then
echo "[+] Error. Folder does not exist. Check user permissions."
exit 1
fi