unix/bash의 변수에 "*" 문자열을 저장하는 방법은 무엇입니까?

unix/bash의 변수에 "*" 문자열을 저장하는 방법은 무엇입니까?

사용자로부터 숫자를 읽고 별표를 인쇄하는 스크립트를 작성하는 작업이 있습니다. 숫자가 3이면 인쇄됩니다.

***
**
*
**
***

작성 방법에 대한 아이디어는 이해하지만 *를 포함하는 변수를 만들어 보았지만 $variable을 echo하면 현재 위치에 있는 모든 폴더/파일만 표시됩니다. 함수를 실행하지 않고 "*"를 문자열로 어떻게 저장할 수 있나요?

답변1

varname='*'

하지만 변수 확장 후에 와일드카드가 발생하므로 실수로 확장하면 확장되면서 와일드카드 작업을 수행하므로 사용 위치에 주의해야 합니다. 인쇄용 echo "$varname"입니다(인용문 참고).

답변2

변수를 인용하면 됩니다.

$ variable='*'
$ echo $variable
file1 file2 file3
$ echo "$variable"
*

관련 정보