1
내 CentOS 5.3에이 bash 스크립트가 있습니다.bash 스크립트에 캐리지 리턴
#!/bin/bash RESULT=$(cat /tmp/logfile.log | grep -i "Backlog File Count" | awk '{print $6}') if [ "${RESULT}" -lt "5" ]; then echo "${RESULT} is less than 5" else echo "${RESULT} is greater than 5" fi
/tmp/logfile.log :
Backlog File Names (first 1 files)
이 bash는 스크립트가 가정으로 로그 파일에 값이 "1"을 얻고 출력을 인쇄하도록해야한다. 내가 스크립트를 실행할 때,이 오류 메시지입니다 : 나는 것으로 나타났습니다
+ RESULT=$'1\r' ..... + '[' $'1\r' -lt 5 ']'
: 내가 디버그 모드를 설정 그래서
: integer expression expected
, 나는 "RESULT"변수 출력을 발견 "\ r"출력이 값에 첨부됩니다.
아무도 내가 그 출력에 "\ r"이있는 이유와 그 오류를 제거하는 방법을 알려 주시면 감사하겠습니다. CentOS 6.3에서 시도했지만 문제가 없습니다.
# rpm -qa bash bash-3.2-32.el5_9.1
감사합니다. James
dos2unix filename filename을 시도했지만 제대로 작동하지 않습니다. 그러나 당신이 제안한 것과 함께, 그것은 잘 작동하고 있습니다. 감사! –
단일 \ r은 Mac 줄 바꿈입니다. mac2unix를 사용해야합니다. –