2014-05-16 4 views
2

나는 사람이 읽을 수있는 datetime으로 타임 스탬프를 변환하는 간단한 cli 있습니다. 웬일인지, 나는 그것을 호출하려고 할 때 imagemagick에서 import 명령을 대신 호출한다. 내가 첫 번째 줄에 오두막을 이동하면세방 선의 번호는 유의합니까?

> ts 1400029200000 
Version: ImageMagick 6.8.7-7 Q16 x86_64 2013-11-27 http://www.imagemagick.org 
Copyright: Copyright (C) 1999-2014 ImageMagick Studio LLC 
Features: DPC Modules 
Delegates: bzlib freetype jng jpeg ltdl png xml zlib 

Usage: import [options ...] [ file ] 

다음은 내가 올바른 결과를 어떻게 제공

> ts 1400029200000 
2014-05-14 01:00:00  

를 얻을, 내 스크립트

1 
2 #!/usr/bin/env python 
3 
4 import argparse 
5 from datetime import datetime 
6 
... 
12 
16  time = args.time 
... 
22  print(datetime.utcfromtimestamp(time)) 
... 
25 
26 if __name__ == '__main__': 
27  main() 
28 

입니까?

+0

나는 그렇게 믿는다. 이것은 OS에 스크립트 처리 방법을 알려주기 때문에 첫 번째 행에서 예상됩니다. 그렇지 않으면 스크립트를 호출 할 때 셸을 지정해야합니다. –

답변

7

'shebang'은 실행 파일의 시작 부분에서 두 바이트를 보는 커널에 의해 해석되므로 첫 번째 줄이어야합니다.

이 코드가 #! 인 경우 나머지 줄은 실행 코드로 해석되며 해당 프로그램에서 사용할 수있는 스크립트 파일로 해석됩니다. 현재 줄 바꿈 문자가 있고 이면 줄의 문자입니다.

+0

나는 본다. 그런 다음시 배너 라인이 없다면 스크립트는 기본적으로 bash 스크립트로 실행됩니까? 그렇다면 기본값을 변경하는 방법이 있습니까? –

+0

@KevinSLin 잘 모르겠지만, 나는 적극적인 리눅스 사용자가 아닙니다. 당신은 다른 질문을해서 그것에 대한 전문 지식을 얻어야합니다. –

+0

@KevinSLin (첫 번째 줄에)시 뱅 라인이 없다면, 명령 실행을 시도했던 모든 쉘 (실제로는'bash')에 의해 실제로 실행됩니다. ['import'] (http://www.imagemagick.org/script/import.php)는'imagemagick'의 일부인 프로그램입니다. – ubomb