2013-01-24 3 views
1

이 문제가 있습니다. 외부 변수 "configstyle"에 변수를 넣고 . /var/scripts/siDiagConfig.sh 변수를 가져올 때 변수가 제대로 작동하지 않습니다 ... 마찬가지로 변수가 있습니다. MTU=1500 그리고 내가 그것을 에코 할 때 "1500"이 인쇄됩니다. 그러나 과 같은 grep 명령 내에서 변수를 사용하려면 변수가 제대로 인식되지 않습니다. 이 예제에서 콘솔은 2 대신에 0을 출력합니다 ... MTU=1500으로 변수를 재 할당하면 코드가 아무런 문제없이 작동합니다 ... 어떤 아이디어라도 놓칠 수 있습니까?외부 변수가 올바르게 인식되지 않습니다.

다른 방법이 있습니까? 내 변수를 외부 파일에 넣을 수 있습니까?

내 siDiagConfig.sh 파일 :

#!/bin/bash 
.... 
export MTU=1500 
.... 

편집 (솔루션) : 내 Windows 시스템에서 파일을 만든

내가 기억. 방금 siDiagConfig.sh에 코드를 복사하고 유닉스 시스템에 새 파일을 만들고 코드를 붙여 넣었습니다. 이제는 문제없이 작동합니다 =)

도움을 주셔서 감사합니다!

+1

외부 파일에서 'export MTU = 1500'을 선언 했습니까? –

+0

이제 나 했어;) 그래도 작동하지 않았다 : ( – Simons0n

+0

grep 줄 앞에 set -vx를 사용할 때 출력을 인쇄 할 수 있습니까? – peteches

답변

0

[gigauser에서 @의 gigabox/SCM/gigafolder/toratora/test_aks]

고양이 conf.config; 에코 -----; cat testfile.txt; echo ------; cat mainfile.sh; echo --------; ./mainfile.sh

수출 GIGA = 기가
수출 FIFA = FIFA


내가 GIGA 해요 는
나는 FIFA


#!/bin/bash 

. conf.config 

echo GIGA = $GIGA 
echo fifa = $fifa 

cat -n testfile.txt 


echo 
echo -- Now lets grep = $GIGA with case insensitive On 
echo 

echo -`grep -in "${GIGA}" testfile.txt`-; 
echo =`grep -ic "${GIGA}" testfile.txt`= 
echo 
echo Now again but with case insensitive Off 
echo -`grep -n "${GIGA}" testfile.txt`-; 
echo =`grep -c "${GIGA}" testfile.txt`= 

좋아


GIGA = 기가
FIFA = FIFA
1 내가
2 내가 FIFA


좋아 GIGA 해요 - 이제


-1에 대소 문자를 구분하여 그렙 = 기가을 할 수 있습니다 : 나 ' m의 GIGA-
= 1 =

이제 다시하지만
오프를 구분 케이스 -
= 0 =
℃에서 @의 gigauser gigabox/SCM/gigafolder/toratora/test_aks]
>

0

mark a comment as an answer에 기능 요청이 거부를 유지하기 때문에, I 여기서 상기 용액을 복사한다.

예; 그게 문제 야. 그것은 캐리지 리턴입니다. Unix에서 DOS 파일을 실행하기 전에 DOS 파일을 Unix 파일로 변환하십시오.- Jonathan Leffler

이제 Windows 시스템에서 파일을 만들었습니다. 방금 siDiagConfig.sh에 코드를 복사하고 유닉스 시스템에 새 파일을 만들고 코드를 붙여 넣었습니다. 어떤 poroblems도없이 작동하지 않습니다 =) 도움을 주셔서 감사합니다! - Simons0n

관련 문제