2014-04-03 3 views
0

이 질문은 Linux에서 tcsh 스크립팅에 관한 것입니다. 사용자가 사용자 이름과 암호를 입력 한 다음 스크립트에서이 두 가지를 모두 확인하게하려고합니다. 사용자가 암호에 중괄호 {암호가있는 경우 스크립트는 전혀 작동하지 않습니다 :중괄호 사용 {tcsh Linux 스크립트 입력으로

누락}.

이를 극복 할 방법이 있습니까? 어쨌든 스크립트를 시작하여 내부에서 중괄호를 처리 할 수있는 방법이 있습니까? 모든 시청자

set password = $<:q 

답변

1

은 $ <, 인용 대체하여 입력을 읽고 가정.

대답은 다음과 같습니다.

$ argv를 사용하는 경우 오류가 발생합니다.

"$ argv"를 사용하면 작동합니다.

인자가 중괄호를 포함 할 수 있다면, 그것을 올바르게 읽으려면 $ argv를 감싸기 위해 큰 따옴표를 사용하십시오.

폴리 CSH에서

1

감사와 데이브는 응답에 대한 사인 :

감사, 폴리

0

, 2 작은 따옴표는 (탈출) 중괄호를 보호 할 수 있습니다. 당신은 당신이 변수 에코 때 하나의 큰 따옴표 (")를해야 할 수도 있습니다 : 스크립트에서 중괄호 (또는 대괄호 [])를 사용하는 경우

set a=''{'' 
echo "$a" 

, 당신은 다시 따옴표 안에 에코 ()를 결합 할 수 있습니다 및 이스케이프 처리 된 브래킷 :

set b = " COMMANDS `echo ''{''` MORE COMMANDS `echo ''}''` " 
echo "$b"