如果我无法清楚地提出我的问题,请原谅我。
我正在尝试从Oracle Forms 10g过程执行以下Linux命令:
ls -lact --full-time /etc |awk 'END {print $6,$7,$8}'
在此过程中,我有以下内容:
command := ' ls -lact --full-time /etc |awk 'END {print $6,$7,$8} ';
当然,变量command
是事先声明的。
我得到的错误是这样的:
在预期以下情况之一时遇到符号"\">
我将不胜感激为解决这个问题提供的任何援助。
您可以通过将字符串值中的单引号加倍来转义它们:
command := 'ls -lact --full-time /etc |awk ''END {print $6,$7,$8}''';
或者更干净一点,因为您不必修改原始文本(假设表单支持这一点!?(使用替代引用机制:
command := q'[ls -lact --full-time /etc |awk 'END {print $6,$7,$8}']';
在这里,我使用[]
作为分隔符,但它们可以是实际字符串中未出现的任何字符:
如果开仓quote_delimiter是
[
、{
、<
或(
之一,则开盘quote_delimiter必须是对应的]
、}
、>
或)
。在所有其他情况下,开始和结束quote_delimiter必须为同一字符。