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

标签 bash shell error-handling scripting

我做了一个简短的脚本,将带有一个扩展名的所有文件更改为另一个扩展名。这两个扩展名均由用户通过命令行参数输入。我输入了一个if语句来处理错误,但是由于某种原因,它认为所有内容都是错误,并且我不确定为什么。我在下面粘贴了脚本。我对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" != .* ]]

关于bash - 错误处理将一切都视为错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29597673/

相关文章:

swift - 什么时候在 Swift 错误处理中使用异常和可选值?

linux - 如何使用 Awk/cut 获取 "/"之间的文本?

regex - 使用 sed 打印以 z 开头且不以 03 结尾的行

linux - 如何使用 df 命令查找可用和已用内存总量

shell - 将 sar 命令结果输出到 csv 文件

shell - 在 Ansible 中启动 Bitbucket 服务器

linux - 尝试使用 awk 打印列,但说找不到打印

unix - 仅列出 UNIX 中的目录

error-handling - DB2 - CLI0108E 通信链路故障。 SQLSTATE=40003

jquery - 显示错误/警告的最佳方法是在MVC中使其显示或传递自定义属性?