需要在文本中保留花括号以打印到文件


Need to keep curly braces in text to print to file

我有这样的代码:如果(写入文件(处理美元,"

# $hostname.$domainname
add username $hostname.$domainname {$username}
add password $hostname.$domainname {$password}
add autoenable $hostname.$domainname {$autoenable}
add method $hostname.$domainname {$method}
add device $hostname.$domainname {$devicetype}
add encryption $hostname.$domainname {$encrypt}
add userprompt $hostname.$domainname {'"User Name:'"}
"     ) 

我需要在写入的文件中实际保留花括号的输出,因此输出示例如下:

#host123.yahoo.com
add username host123.yahoo.com {test}
add password host123.yahoo.com {testpass}
add autoenable host123.yahoo.com {1}
add method host123.yahoo.com {ssh}
add device host123.yahoo.com {cisco}
add encryption host123.yahoo.com {3des}
add userprompt host123.yahoo.com {'"User Name:'"}

我试过用双引号和单引号来保持括号,试过转义字符',花了很多时间在网上到处找。从我所读到的,你不能转义变量前的大括号。不知道语法应该怎么写

可以使用双花括号转义,如下所示:

$somevar = 'fomp fomp';
$text = "This is a test of {{$somevar}}";
echo $text;
// "This is a test of {fomp fomp}"

通过将引号更改为'而不是",这将使您能够在命令中使用{。通过简单地使用连接,您可以轻松地将变量插入文本中。下面是一个例子:

    $InsertDomainName = $hostname.$domainname;
if (fwrite($handle,'
    # '.$InsertDomainName.'
    add username '.$InsertDomainName.' {'.$username.'}
    '   
))