如何在bash中逃避引用?

时间:2016-03-23 01:00:34

标签: string bash escaping

我试过了:

charAt

我试过

    a="\"Google Chrome\""

但没有去。 我怎么能完成? 这个脚本在这里:

    a="'Google Chrome'"

似乎只能继续阅读Chrome部分而不是处理" Google Chrome"作为一个论点。

例如birthBrowser(){ local a if [ $# -eq 0 ] then a="Google Chrome" fi if [ $# -eq 1 ] then a="$1" fi if [ $# -gt 1 ] then a="$1" echo "Too many arguments" fi open -a $a } 在控制台中工作。

1 个答案:

答案 0 :(得分:1)

如果您的预期行为与此相同:

open -a "Google Chrome"

...然后您的脚本使用应如下所示:

a="Google Chrome"
open -a "$a"

在上面的用法中,所有引号都是 syntactical ,而如果你实际上将引号作为字符串的一部分进行转义,那么它们就会变成数据,并失去它们作为语法的特殊含义。

请参阅BashFAQ #50深入解释为什么试图逃避语法引用是错误的事情。