【发布时间】:2023-03-06 06:10:01
【问题描述】:
我需要理解 bash if 表达式。当然,我用过谷歌。我知道它是这样的:
if [ expr operator expr ]
then
doSomeThing
fi
但是,我知道 Bash 没有布尔数据类型。我想检查作为参数 ($1) 传递的文件是否存在。我会直接做这件事的方式:
if [ -e $1 = true ]
then
echo "File exists."
fḯ
或者可能是这样的:
if [ -e $1 ] #Assuming that this is true only if file in $1 exists.
这些都不起作用,我不确定 [ ] 是什么意思。 -e $1 似乎是一个明智的选择,但它总是正确的吗?字符串和整数有不同的运算符。而且我不能使用括号将表达式组合在一起。这太令人困惑了。
有人有一些提示吗?如果我尝试过任何其他语言,bash 中的 IF 就无法正常工作。
【问题讨论】: