에서 CONCATENATE 변수 나는이 간단한 스크립트가있을 때 :이상한 행동 쉘 스크립트
#!/usr/bin/ksh
while read param1 param2
do
echo "Parameter1: $param1 - 1"
echo "Parameter2: $param2 - 2"
done <<< "$(list.ksh)"
자바 서블릿을 호출 한 다음이 스타일의 서버 목록을 반환 스크립트 list.ksh :
192.168.1.1 server1
192.168.1.2 server2
간단한 스크립트의 출력 결과는 다음과 같습니다.
Parameter1: 192.168.1.1 - 1
- 2 eter2: server1
Parameter1: 192.168.1.2 - 1
- 2 eter2: server2
보시다시피, 의 출력 "Parameter2 : $ param2 - 2"은 완전히 이상한 선입니다. 예를 들어, 줄 끝의 숫자 2는 출력 시작 부분에 나타납니다.
나는 분석하는데 많은 시간을 투자했지만, 아무 것도 얻지 못했습니다.
의견이 있으십니까? 어쩌면 서블릿의 출력물에 '깨진'문자가있을 수 있습니까?
업데이트 : 코멘트를 읽은 후이 문제를 해결할 수
/아래에 답합니다.
난 그냥과 서블릿에서/R/N를 교체했다 '/ n'을 유닉스 스타일에 따라 :param2="$(echo $param2 | dos2unix)"
당신에게 :
나는 한 줄에를했습니다 여기에 많은 정보를 찾을 수 있습니다 : Remove carriage return in Unix
Java 서블릿은 캐리지 리턴/줄 바꿈 쌍으로 끝나는 줄을 반환합니다. – chepner
감사합니다 chepner. 당신이 옳았. –