2012-01-30 6 views
1

저는 누군가 제가 마지막 배포에서 발견 한 문제에 대한 통찰력을 줄 수 있기를 바랍니다. 나는 그것에 몇 가지 자바 스크립트가있는 erb 페이지가 있습니다. 숫자를 곱하려고 시도 할 때까지 아무런 문제가 없었습니다. 내가 서버에 배포 한 후 몇 가지 이유를 들어, 모든 별표 (*)는별표가 배포 중/배포 후 모든 디렉터리로 대체되는 이유는 무엇입니까?

<script type="text/javascript"> 
    a = b * 2; 
</script> 

될이 코드를 수행하는 이유

~$ ls/

그래서, 명확하게 명령의 출력 모습으로 바뀝니다

<script type="text/javascript"> 
    a = b bin boot dev etc lib sbin usr var 2; 
</script> 

배포 한 후 렌더링 할 때? 이것은 지금 당황 스럽다. 어떤 아이디어 나 대답에 미리 감사드립니다.

EDIT 내 소스 코드를 확인했는데 별표는 변경되지 않았습니다. 페이지를 치려고 할 때만 변경됩니다. 문제는 카피 스트라 노가 아니었다.

+1

이 파일을 어떻게 배포합니까? 소스 저장소에서 복사하여 사용 하시겠습니까? 'echo'를 사용함으로써? – tadman

+0

카피 스트라 노로 원본 소스를 복사합니다. – Justin

+0

이런 일이 결국 쉘에서 실행되거나 어떤 방식으로 보간되는 것에 대해 걱정하고 있습니다. 일반적으로'git' 메쏘드는 파일을 축 어적으로 복사합니다. – tadman

답변

1

셸 확장 때문입니다. 현재 디렉토리가 / 경우 :

echo * 
bin boot dev etc home lib lib64 logs_backup media mnt opt proc root run sbin srv sys tmp usr var 

는 계산하려는 경우,

a=$(echo "$b*2" | bc) 

사용

"a = b * 2" 

시도

(가능성 위보다 더 좋은 방법이 있습니다.)
+0

미안하지만, 당신이 오해 한 것 같습니다. 서버에 배포 할 때 내 소스 코드가 변경됩니다. 터미널에 아무 것도 입력하지 않습니다. – Justin

+1

소스 코드가 터미널에서 실행되는 것 같습니다. – Reactormonk

+0

어떻게 가능합니까? 자바 스크립트 함수를 전역 js 페이지로 이동하여이 문제를 해결했습니다. – Justin

관련 문제