2009-05-29 7 views
0

좋아, 나는 몇 가지 인수를 취하고 데이터를 실행 한 다음 데이터를 다른 서버로 rsync하는 스크립트를 가지고있다. 문제는 데이터를 실행하기 위해서 인수 중 하나를 취한 다음이를 사용하여 보고서를 실행해야한다는 것입니다.이 보고서는 비 배타적입니다 (예 : [3023.2 <> 1], [5111.3 $] = "5"등).).배시에서 단일 인용문과 이중 인용문을 섞기

그래서 명령을 실행하려면 인수를 작은 따옴표로 묶어야합니다. 그러면 인수를 작은 따옴표로 묶어야합니다. 내가 스크립트를 실행한다면 따라서

은 ...

arg1 = [5111.3$]="5" 

runjob specfile.spx '$arg1' 

이 작동,하지만 난 큰 따옴표로 실행한다면, 다음 인수가 도착하는 좋은 기회가 않을 것이다 건네 주면 큰 따옴표가 붙습니다. 이 문제를 해결하는 방법에 대한 아이디어가 있습니까?

답변

2

를 사용하여 작은 따옴표 당신이 그것을 확장 할 때 당신이 그것을 설정하면 다음 변수 주위에 따옴표를 사용

$ arg1='[5111.3$]="5"' 
$ echo "$arg1" 
[5111.3$]="5" 
0

따옴표를 이스케이프 처리합니다. 시도하십시오

[5111.3$]=\"5\" 

고급 스크립트 가이드는 quoting에 좋은 섹션이 있습니다. 값 주위

관련 문제