특정 조건에 대해 여러 명령 실행

특정 조건에 대해 여러 명령 실행

.i != 1

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

하지만 이 두 명령이 한 번만 실행되기를 원합니다.

답변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")

관련 정보