特定の条件に対して複数のコマンドを実行する

特定の条件に対して複数のコマンドを実行する

i != 1.

(( i == 1)) && florg="${fl%-*.png}.org" ; touch "$florg"

しかし、これら2つのコマンドを一度だけ実行したいと思います。

答え1

最も簡単な方法は、一般的なif文を使用することです。

if ((i == 1)); then
  florg="${fl%-*.png}.org"
  touch "$florg"
fi

それ以外の場合は、中かっこを使用してコマンドをグループ化します。

(( i == 1)) && { florg="${fl%-*.png}.org" ; touch "$florg"; }

バラより3.2.5.3 グループ化コマンドマニュアルに。

変数を保存する必要がない場合は、括弧を使用できます(サブシェルでコマンドを実行)。括弧はスペースとセミコロンをよりよく受け入れます。

((i == 1)) && (florg="${fl%-*.png}.org"; touch "$florg")

関連情報