" "
쉘 스크립트에서 공백을 입력으로 제공하는 방법은 무엇입니까 ?
전임자:
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) 읽기 옵션은 백슬래시를 특별히 처리하지 말라고 지시하는데, 이는 대부분의 경우 원하는 방식입니다(그러나 여기서는 문제가 되지 않습니다).