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