if [[ -e $filename]] 是什么意思

if [[ -e $filename]] 是什么意思

我有一段遗留的 Linux shell 脚本代码,正在尝试理解。如能提供任何解释,我将不胜感激:

if [[ -e $fileName]]; then

我很好奇双括号是什么意思?

答案1

简短回答:它告诉 shell 检查是否存在以 $filename了解是否选择thenelse语句。

在评估 if 语句之前,需要测试条件——它是真还是假?这里,[[ ]]表示一个布尔变量,其值取决于其中的表达式。传统上,[ ]bash 语法是发出test命令,返回表达式的值,无论类型和上下文如何。较新版本的 bash[[ ]]专门用作 if 语句的关键字。我想这可以防止类型错误,或者其他什么。

相关内容