linux - 防止 * 在 bash 脚本中被展开

标签 linux bash scripting

Linux bash 脚本:

#!/bin/bash

function Print()
{
    echo $1
}

var="*"
Print $var

执行结果:

alex@alex-linux:~/tmp$ ./sample-script 
sample-script

*展开为文件列表,其实就是脚本本身。我怎样才能防止这种情况并查看实际变量值?一般情况下,var 可能比* 更复杂,例如:home/alex/mydir/*

最佳答案

你也需要转义你的变量:

Print "$var"

在你的函数中:

echo "$1"

关于linux - 防止 * 在 bash 脚本中被展开,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2470638/

相关文章:

bash - 如何转义变量中的特殊字符以在 bash 中提供命令行参数

python - 如何在 Django View 中运行命令行 python 脚本?

Powershell 7 - Set-Content and Out-file 向我的文件添加回车符 (CR)

linux - perl 脚本在命令行上运行但不在 crontab 中运行

linux - 黑客向我的邮件服务器发送垃圾邮件

c++ - 从 C++ 代码将多行 bash 脚本作为字符串运行

jquery - Ant - 删除所有名称的文件夹?

c++ - 除了直接访问之外,还有其他方法可以更改内存中的值吗?

linux - Mercurial ACL 防止拉

linux - 无法从 bash 脚本中获取带有空格的路径?