2014-04-07 4 views
0

Greetins 문자열 변수의 내부 정수 변수, 나는 다음을 수행해야합니다강타,

string_a="string_a${int}" 
string_b="string_b${int}" 
int=1 

문자열 변수는 텍스트 파일에 bash는 스크립트와 위치를 int 변수가 선언이 포함되어 파일이 아닌 다른입니다. 텍스트 파일에 string_a${int}을 쓰고이 파일의 해당 줄을 sed로 지정하여 중첩 int 변수 ${int}이있는 문자열 변수가되도록합니다. 그 좋은 해결책이 있습니까? :)

은 어쩌면 내가 두 파일의 코드를 작성하려고 :

파일 "문자열"당신이 볼 수 있듯이

aaaaaaaaa${i} 

파일 "프로그램"

#!/bin/bash 

int=1 
i=1 

string=$(sed -n "${int}p" string) 

echo ${string} 

, 내가하려고 "문자열"파일에서 첫 줄 sed하지만 결과적으로 aaaaaaaaa 대신 $ aaaa $ {i}를 얻습니다.

+0

귀하의 질문은 완전히 명확하지 않습니다. – devnull

+0

'문자열 변수는 변수 int가 아닌 텍스트 파일에 있습니다. 당신이 그것을 명확히 할 수 있습니까? – anubhava

+0

이 (가) 편집되었거나 괜찮습니까? 죄송합니다 :) – user3162968

답변

1

해결책이 있습니다. echo ${string} 대신 eval echo ${string}을 써야합니다. 나는 그것이 누군가를 돕기를 바랍니다.

+0

코드 블록에 한 줄짜리 부분을 어떻게 쓸 수 있는지 코멘트에서 설명해 주시겠습니까? 네 개의 공백이 작동하지 않습니다. 코드 블록 안에 eval echo $ {string}을 작성하고 싶습니다. – user3162968

+1

백틱을 사용하십시오. (') - 도움말을 클릭하면 첫 번째 행의 마지막 예제 (mini-Markdown)입니다. –

+0

감사합니다. – user3162968

관련 문제