2013-07-16 3 views
0

여기에 16 비트 진수 정수로 타임 스탬프를 반환하는 메이크 한 줄의 :Perl 10 진수 피연산자에서 스트립 앞에 0이 나오나요?

이 작동
DAY  := $(shell date +%u) 
HOUR  := $(shell date +%H) 
MINUTE := $(shell date +%M) 
TIMESTAMP := $(shell perl -e 'printf "%04X", ($(USER2)<<14)|($(DAY)<<11)|($(HOUR)<<6)|$(MINUTE)') 

, 대부분의 시간. 그러나, 나는 실행하는 경우는 지금 date09의 시간은 반환하고 스크립트가 불평 :이 문제를 해결하는 방법에 대한

Illegal octal digit '9' at -e line 1, at end of line

어떤 아이디어? 감사.

답변

0

숫자 리터럴을 인용하여 문자열로 변환하십시오. 이것은 비트 시프트 운영자와 함께 올바른 일을 할 것입니다.

"$(USER2)"<<14 
+0

감사합니다 - 나는 09:00 내일 확인해 보겠습니다! – EML