Vera Asked: 2021-10-21 11:59:32 +0800 CST2021-10-21 11:59:32 +0800 CST 2021-10-21 11:59:32 +0800 CST 针对某些条件执行多个命令 772 我知道第二个命令即使在i != 1. (( i == 1)) && florg="${fl%-*.png}.org" ; touch "$florg" 但是希望这两个命令只执行一次。 bash 1 个回答 Voted Best Answer glenn jackman 2021-10-21T12:14:46+08:002021-10-21T12:14:46+08:00 最简单的做法是使用常规if语句: if ((i == 1)); then florg="${fl%-*.png}.org" touch "$florg" fi 否则使用大括号对命令进行分组: (( i == 1)) && { florg="${fl%-*.png}.org" ; touch "$florg"; } 请参见手册中的3.2.5.3 分组命令。 如果您不需要保留变量,可以使用括号(它在子 shell 中执行命令)。括号对空格和分号更宽容: ((i == 1)) && (florg="${fl%-*.png}.org"; touch "$florg")
最简单的做法是使用常规
if
语句:否则使用大括号对命令进行分组:
请参见手册中的3.2.5.3 分组命令。
如果您不需要保留变量,可以使用括号(它在子 shell 中执行命令)。括号对空格和分号更宽容: