for 루프에서 Unix 명령 평가 [닫기]

for 루프에서 Unix 명령 평가 [닫기]

i.res에서 까지 인쇄하고 싶습니다 POSCARi+1.

  1. i.res1.res2.res등의 이름을 가진 3.res파일 입니다. 이러한 파일은 작업 디렉터리에 있습니다.
  2. POSCAR(i+1)POSCAR2각각 POSCAR3. POSCAR4​작업 디렉터리에 이 파일이 필요합니다.

나는 이 루프를 사용하고 있습니다:

for i in 1 2 3 4 5 6 7 8 9; do convert $i.res POSCAR[$i+1]; done

결과 :

POSCAR1+1
POSCAR2+1
POSCAR3+1

표현식을 평가하고 for , for 등에 POSCAR2대해 제공하고 싶습니다 .1.resPOSCAR32.res

답변1

POSCAR현재 값 에 1을 더해 인쇄하려면 $i다음을 시도해 보세요.

for i in 1 2 3 4 5 6 7 8 9; do convert $i.res POSCAR$((i+1)); done

[$i+1]쉘은 이 구문을 이해하지 못합니다. 산술 평가를 위해서는 대신 이 작업을 수행해야 합니다 $(( )).

관련 정보