简体   繁体   English

错误处理将一切都视为错误

[英]error handling considers everything an error

I made a short script that changes all files with one extension to a different extension. 我做了一个简短的脚本,将带有一个扩展名的所有文件更改为另一个扩展名。 Both extensions are inputted by the user through command line arguments. 用户通过命令行参数输入两个扩展名。 I put in an if statement to handle errors but for some reason it considers everything an error and I am not sure why. 我输入了if语句来处理错误,但是由于某种原因,它认为所有内容都是错误,并且我不确定为什么。 I have pasted the script below. 我在下面粘贴了脚本。 I am rather new to bash scripting so any help would be greatly appreciated! 我对bash脚本非常陌生,因此不胜感激!

if [[ "$#" == 0 ]] || [[ "$1" || "$2" != "."* ]]
 then

echo "Parameters are not valid"
exit
fi

for f in *"$1"; do
    name=${f%.*}
    mv $f "$name$2"
done

[[ "$1" || "$2" != "."* ]] [[ "$1" || "$2" != "."* ]] should be [[ "$1" != .* ]] || [[ "$2" != .* ]] [[ "$1" || "$2" != "."* ]]应该是[[ "$1" != .* ]] || [[ "$2" != .* ]] [[ "$1" != .* ]] || [[ "$2" != .* ]]

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM