bash 함수 끝에 공백 있는 문자열 인자

bash 스크립트에서 인자를 취하는 함수를 선언하고 사용할 때 문자열 끝에 공백을 포함하려면 어떻게 해야 하나요?

mydate()

{

echo -n $1

date

}

예를 들어 이 함수를 선언했다고 하면 인자로 "Today is "를 넣어도 is 다음에 공백이 없이 "Today is"로 처리되는데 끝 공백을 남기도록 하는 방법이 궁금합니다.

    2개의 답변이 있어요!

    • 아래와같이 $1을 따옴표로 묶어보세요.

      #!/bin/bash

      mydate()

      {

      echo -n "$1"

      date

      }

      mydate "Today is "

      결과 : Today is 2021.xx.xx ......(생략)

      위의 예제 및 출력 결과 참고 하셔서 한번 적용해보시기 바랍니다....

    • 안녕하세요. 쉘 스크립트에 대해 문의하셨네요.

      인자로 "Today is "를 넣을 경우 is 다음에 공백이 없어진다는 말씀이시죠?

      혹시 인자를 어떤 방식으로 넘기셨나요?

      쉘스크립트에서는 문자열에 공백 문자열이 있을 경우 인자에서 나누어서 인식합니다.

      그래서 쌍따옴표(")나 작은따옴포(')로 묶어주어 해당 문자열이 이어져 있다고 표시를 할 수 있습니다.

      아라서 인자를 묶어서 실행하면 뒤에 공백이 넘어가게 됩니다.