2014-02-08 2 views
0

vi에서 기본 스크립트를 만듭니다. 먼저 Notepad ++에 코드를 입력하고 준비가되면 vi로 복사했습니다. 어떤 시점에서 색상이 완전히 바뀝니다. 예를 들어 주석이 자주색으로 표시됩니다.BASH의 잘못된 vi 색상

sintax 오류 및 색상 해석은 검색되었지만 성공은 검색되지 않았습니다. 또한 스크립트가 작동하는 것 같습니다. 아무도 무슨 일이 있었는지 압니까?

#find system and last database partition date 
system_date=`date '+%m%d%Y'` 
database_date=$(find_last_partition_date) 

# testing colour ...OK 

#convert system and last database partition dates to unix time 

# testing colour ...OK 
unix_system_date=`date -d $(sed -r 's#(..)(..)(....)#\1/\2/\3#' <<<$system_date) +%s` 

#testing colour ...purple not blue 

unix_database_date=`date -d $(sed -r 's#(..)(..)(....)#\1/\2/\3#' <<<$database_date) +%s` 
#testing colour 

#compare them to determine the initial parameter 
if ((unix_database_date > unix_system_date)); then 
     start_date=`date +"%m%d%Y" -d "${database_date:4}${database_date:0:4} + 1 day"` 
else 
     start_date=`date '+%m%d%Y' -d "$actual_date+2 days"` 
fi 


cd /opt/data/apps/utils 


################################################ 1st cycle ################################################ 

vi colors

답변

0

빔이 자동으로 파일 확장자뿐만 아니라 구문 강조 방식을 결정하기 위해 파일 내용을 살펴 봅니다. 당신의 bash는 스크립트가 마지막에 ".sh로"를 가지고 있으며,로 시작해야합니다 "#!는/usr/빈/SH"

당신이 파일 타입의 정력이 강조 구문 사용 확인할 수 있습니다

:set filetype 

또는 세션에 대해

:set filetype=sh 
+0

과 같이 세션을 변경하십시오. #!/bin/bash는 있지만 첫 번째 행에는 없습니다. 첫 번째 라인으로 바뀌었고 이제 색상이 괜찮습니다. 도와 주셔서 감사합니다 ! – user3253335