如何在变量的输出中转义特殊字符

时间:2017-03-19 19:41:50

标签: bash shell applescript

尝试使用lpadmin编译添加打印机命令并通过Apple Script运行它。我面临的问题是打印机名称具有特殊字符&看起来像这样

PRINTERVALUE:DellB& W

做shell脚本“lpadmin -p”& PRINTERVALUE& “-E -v LPD://”& PRINTERVALUE& “-P /Library/Printers/PPDs/Contents/Resources/DellBW.ppd.gz -o printer-is-shared = false”

这给了我一个错误,命令停止在特殊字符&因为是打印机名称的一部分..任何想法?

2 个答案:

答案 0 :(得分:2)

使用quoted form of,它会添加必要的转义字符:

do shell script "lpadmin -p " & quoted form of PRINTERVALUE & " -E -v LPD://" & quoted form of PRINTERVALUE & " -P /Library/Printers/PPDs/Contents/Resources/DellBW.ppd.gz -o printer-is-shared=false"

答案 1 :(得分:0)

一般来说,转义字符是:\

尝试这样的事情:

PRINTERVALUE: DellB\&W

或引号:

PRINTERVALUE: "DellB\&W"