AIX 시스템에서 스크립트를 보고 있는데 다음으로 시작하는 여러 줄이 있습니다.#@(#)
이것은 무엇을 의미 하는가? 분명히 Google 검색은 해당 기호에 대해 전혀 효과가 없었습니다.
다음은 스크립트의 몇 줄입니다.
#!/usr/bin/ksh
#
#@(#)
#@(#) USAGE: dump_master_db [opts] SERVER [AREA]
#@(#) opts: -p PAGENAME : send Pages to PAGENAME rather than the default (usually database)
#@(#) -nodbcc : will not do the DBCCs before the dump
#@(#) -c COMPRESSION_LEVEL : dump the database at the stated compression level.
#@(#)
#@(#) This script will do some DBCCs, truncates the log and then dumps the master database on any SERVER
#@(#) The SERVER parm is used to build the logical device name as follows:
#@(#) SERVER_master_dump
#@(#) NOTE: There is no AREA and no stripes for this dump device.
#@(#) COMPRESSION: VALUES 1 (least) to 9 (most compressed).
#@(#) Currently, we only use values of none to 1.
답변1
이상한 문자열 "@(#)"은 실제로 다음으로 인해 발생합니다.고대 SCCS 버전 제어 시스템. 구체적으로,what
주문하다파일(바이너리 또는 텍스트)을 보고 "@(#)"으로 시작하는 ASCII-Nul 종료 문자열을 찾은 다음 해당 문자열을 인쇄합니다. 이를 통해 ".o" 파일과 최종 실행 파일에 인쇄 가능한 ASCII 버전 번호를 포함할 수 있으므로 어떤 파일이 실행 파일에 포함되었는지 알 수 있습니다.
제 생각에는RCS ident
명령비슷한 기능을 가지고 있습니다.
선행 "#"은 줄의 나머지 부분을 주석으로 만들기 ksh
때문에 일부 프로젝트에서는 ksh
SCCS what
명령이 스크립트의 모든 사용 등을 인쇄할 수 있도록 모든 스크립트를 작성하는 것 같습니다.