Bash脚本传递包含$的字符串参数

时间:2012-12-14 13:24:53

标签: string bash argument-passing

我需要将字符串参数传递给可能包含$字符的bash脚本。我不想强制将\插入到脚本之外的字符串中。

我试图在脚本中执行此操作,但无法弄清楚如何执行此操作。

我在脚本的后面有一个类似的问题,我用“read”读取了一个字符串。我只能通过强制用户输入\ $来实现它,这对我的应用程序不起作用。

有什么建议吗?

1 个答案:

答案 0 :(得分:3)

如果您不想用反斜杠转义$,那么唯一的另一种方法是用单引号包围参数。将'裸'$传递到您的脚本是不可能的,因为shell会尝试扩展它。使用单引号可防止shell扩展,并将保留$

例如:

myscript.sh '$foo'