쉘 스크립트에서 입력으로 공백 읽기

쉘 스크립트에서 입력으로 공백 읽기

" "쉘 스크립트에서 공백을 입력으로 제공하는 방법은 무엇입니까 ?

전임자:

echo " Enter date for grep... Ex: Oct  6 [***Double space is important for single date***] (or) Oct 12 "
read mdate 
echo $mdate

그러나 내가 얻는 결과는 Oct 6내가 원하는 것 입니다 Oct 6.

답변1

당신은 이미 Oct  6그것을 가지고 있습니다 $mdate. 문제는 인쇄할 때 그것을 확장한다는 것입니다.변수 대체에는 항상 큰따옴표를 사용하십시오.. 또한 선행 및 후행 공백(제거됨 read) 을 유지하려면 IFS빈 문자열로 설정합니다.

IFS= read -r mdate
echo "$mdate"

이것 -r(아르 자형aw) 읽기 옵션은 백슬래시를 특별히 처리하지 말라고 지시하는데, 이는 대부분의 경우 원하는 방식입니다(그러나 여기서는 문제가 되지 않습니다).

관련 정보