Bash 第二,如果stament工作不正常

Bash 第二,如果stament工作不正常,bash,if-statement,Bash,If Statement,我的第二个“如果”不起作用。如果文件不存在,我无法下载该文件。我不知道我做错了什么 #!/bin/bash # upper case file_upper_case=/root/MASTER.txt # lower case file_lower_case=/root/master.txt if [ -e "$file_upper_case" ]; then echo "File is upper-case" echo "Changed to lower_case" m

我的第二个“如果”不起作用。如果文件不存在,我无法下载该文件。我不知道我做错了什么

#!/bin/bash
# upper case
file_upper_case=/root/MASTER.txt
# lower case
file_lower_case=/root/master.txt

if [ -e "$file_upper_case" ]; then
    echo "File is upper-case"
    echo "Changed to lower_case"
    mv $file_upper_case $file_lower_case
    chmod 664 $file_lower_case
    chown root.dba $file_lower_case

else if [ -e "$file_lower_case" ]; then
    echo "File is lower_case"
    echo "Change permission only"
    chmod 664 $file_lower_case
    chmod root.dba $file_lower_case

else if [ -e "$file_lower_case"]; then
    echo "File does not exist"
    echo "Create master.txt file"
   # Download master.txt file
    wget --no-check-certificate https://github.com/userid/bin/raw/master.txt -P /root
    chmod 664 /root/master.txt
    chown root.dba /root/master.txt
fi; fi
您可能需要(测试):

您可能需要(测试):


如果,您可以使用
elif
而不是
else。此外,您在上一个if条件中遗漏了一个空格。

您可以使用
elif
而不是
else if
。此外,您在最后一个if条件中遗漏了一个空格。

这不是与第一个else if完全相同的条件吗?我不确定bash有多聪明,但可能在找到第一个bash后它就不会运行了。
“];
也给出了一些问题。应该是
”]
您是否考虑过
如果[!-e“$file\u lower\u case”];那么
?(请注意
)我使用的是elif,不起作用。卡哥特迈斯特,我没有意识到我犯了同样的错误,我能用什么来代替呢。!!谢谢你们两位的意见。这不是和第一个条件完全一样吗?我不确定bash有多聪明,但可能在找到第一个bash后它就不会运行了。
“];
也给出了一些问题。应该是
”]
您是否考虑过
如果[!-e“$file\u lower\u case”];那么
?(请注意
)我使用的是elif,不起作用。卡哥特迈斯特,我没有意识到我犯了同样的错误,我能用什么来代替呢。!!谢谢你们两位的意见。
#!/bin/bash

file_upper_case=/root/MASTER.txt
file_lower_case=/root/master.txt

if [ -e "$file_upper_case" ]; then
    echo "File is upper-case"
    echo "Changed to lower_case"
    mv $file_upper_case $file_lower_case
    chmod 664 $file_lower_case
    chown root.dba $file_lower_case
elif [ -e "$file_lower_case" ]; then
    echo "File is lower_case"
    echo "Change permission only"
    chmod 664 $file_lower_case
    chmod root.dba $file_lower_case
else
    echo "File does not exist"
    echo "Create master.txt file"
    # Download master.txt file
    wget --no-check-certificate https://github.com/userid/bin/raw/master.txt -P /root
    chmod 664 /root/master.txt
    chown root.dba /root/master.txt
fi