2014-02-27 3 views
0

$ 1에서 $ #에 몇 개의 문자열이 있습니다. 간단한 산술 식을 수행하고 식의 #에 따라 $ 값을 반향시키고 싶습니다.

예 : set file1 file2 file3 file4

나는 $ 2 (echo $ $ ((3-1)) "을 산술 표현으로 사용하고 싶지만, $ 2로 해석 할 것이지만 bash는 단지 오류를 던집니다.

+1

............ 와트 –

+0

그래, 조금 수수께끼, 그 문장. 좀 더 명확하게 설명해 주시겠습니까? – Alfe

+0

예제 입력과 출력을 통해 의미를 정확히 알 수 있습니까? – Daniel

답변

3

사용 변수 간접 :이 $2의 값을 출력합니다

set -- foo bar baz 
var=$((1+1)) 
echo "${!var}" 

, 즉 "바". 문자열 확장 연산자를 사용

+0

감사합니다. –

+0

+1 질문에 대한 질문을 확인했습니다. 라인 사이의 인상적인 독서. –

0

:

$ set -- file1 file2 file3 file4 
$ echo ${@:$((3-1)):1} 
file2 
관련 문제