如何在unix/bash中的变量中保存“*”字符串?

如何在unix/bash中的变量中保存“*”字符串?

我有一个任务要编写一个脚本,该脚本从用户那里读取一个数字并打印星星,如果数字是 3 那么它将打印

***
**
*
**
***

我理解如何编写它的想法,但我尝试创建一个在其中保存 * 的变量,但是当我 echo $variable 时,它​​只会显示我当前位置的所有文件夹/文件。如何将“*”保存为字符串而不运行该函数?

答案1

varname='*'

尽管你必须小心使用它的地方;由于通配符发生在变量扩展之后,因此如果您不小心扩展它,它将在扩展时执行通配符操作。用于echo "$varname"打印它(注意引号)。

答案2

只需引用变量即可。

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

相关内容