Bash编写if语句

Bash编写if语句,bash,Bash,我是bash新手,需要在代码中编写if语句,但我不确定如何编写,因此如果找到$someVar,请运行此命令,否则请执行此操作。在本例中,$someVar是一个文件,我不想输出文本,只是在本例中运行另一行代码来创建文件 代码: rm /var/path/to/folder/$someVar for i in `seq 3 253` do echo $ALLOCATION.$i >> /var/path/to/folder/$someVar 要检查是否存在/var/path/To

我是bash新手,需要在代码中编写if语句,但我不确定如何编写,因此如果找到
$someVar
,请运行此命令,否则请执行此操作。在本例中,
$someVar
是一个文件,我不想输出文本,只是在本例中运行另一行代码来创建文件

代码:

rm /var/path/to/folder/$someVar

for i in `seq 3 253`

do

echo $ALLOCATION.$i >> /var/path/to/folder/$someVar

要检查是否存在
/var/path/To/folder/“$someVar”
,可以使用:

#!/bin/bash

if [[ -f /var/path/to/folder/$someVar ]]; then

    rm /var/path/to/folder/"$someVar"

fi

for i in `seq 3 253`; do

        echo $ALLOCATION.$i >> /var/path/to/folder/"$someVar"

done
也可以使用简单的复合命令:

注意:
[…]
中,您不必引用变量以防止变量中出现
空格。在所有其他情况下,你应该(作为经验法则)


另外,请注意,要检查文件是否可写(即您有权删除它),您可以使用
[-w/var/path/to/folder/$someVar]]

如果[-n$someVar]],则简短回答
;然后。。做你的事。。fi
任何bash引用都将解释可用条件表达式(或测试)的类型。@Joe已更新question@DavidC.Rankin谢谢,我还更新了我的问题还有一个问题--当你说存在时,你是说与变量内容同名的文件存在吗,或者您的意思是
$someVar
已设置且不为空?要测试名为
$someVar
的文件是否存在,请在[[-f$someVar]]中使用
if;然后。。。做你的事..fi
。您也可以使用复合命令检查并有条件地删除文件
[[-f$someVar]]&&rm/var/path/to/folder/$someVar
@DavidC.Rankin后者您是否可以将其作为答案,以便我确保格式正确?
#!/bin/bash

[[ -f /var/path/to/folder/$someVar ]] && rm /var/path/to/folder/"$someVar"

for i in `seq 3 253`; do

    echo $ALLOCATION.$i >> /var/path/to/folder/"$someVar"

done