2012-08-26 3 views
1

KornShell (ksh)의 새로운 기능. 나는 절대적으로 고통스럽고 희망적인 간단한 문제가있다.KornShell (ksh) 스크립트 명령의 문자, 문자 상수 및 변수 이스케이프

작은 따옴표와 변수가 포함 된 문자열 인수로 스크립트를 실행해야합니다. 셸에서는 다음과 같이 보입니다.

run_script -x '*082512*' 

그리고 제대로 작동합니다.

하지만 날짜에 대한 변수가있는 스크립트에서 실행하려고하면 작은 따옴표를 사용할 수 없습니다.

today=$(date "+%m%d%y") 

그러나 스크립트를 실행하려고하면 문제가 발생합니다. 따옴표 내에서 따옴표를 사용할 수있는 모든 조합을 시도하고 작은 따옴표 등을 이스케이프하는 것은 유용하지 않습니다.

이 문제와 관련하여 통찰력을 얻으실 수 있습니다.

+0

'run_script -x "* $ {today} *"'는 어떻게 작동하지 않습니까? 예제의 작은 따옴표는 스크립트가 아니라 쉘에서만 의미가 있습니다. 스크립트가 인수를 가져 오면 작은 따옴표가 없습니다. –

답변

1

형식이 더 좋기 때문에 여기에 의견을 말하십시오.

당신이 인용은 당신이 당신의 명령에 입력 쉘 호출의 첫 번째 수준에서 '볼 수'있다,

today=$(date "+%m%d%y") 
run_script -x '*'"$today"'*' 

글렌 잭맨이 지적 하듯이

을 시도했다.

위의 방법으로 도움이되지 않으면 정확한 사용 사례, 정확한 오류 메시지 또는 기타 예상하지 못한 동작을 표시하도록 질문을 편집하십시오.

행운을 비네.

+0

이것은 효과가 있습니다. 확실히 나는 그것을 시도했다고 생각했지만, 나는 그렇게 생각하지 않는다. 매우 감사합니다. –