C 特殊文字の処理

Oracle Enterprise Performance Management Cloudのパスワード、プロキシ・パスワードおよびコマンド・パラメータ値には、特殊文字を使用できます。EPM自動化でこのような文字を取り扱うには、特別な処理が必要です。

この項の例では、サンプルのパスワードを使用して、特殊文字の使用方法を説明します。

パラメータと値のペアを二重引用符で囲むことをお薦めします。

Windows

次の特殊文字は、特殊文字または特殊文字を含むパラメータ値の周囲を二重引用符(")を使用してエスケープする必要があります。

注:

名前に&が含まれるフォルダ(C:\Oracle\A&Bなど)からEPM自動化を実行することはできません。

表C-1 特殊文字の処理: Windows

文字 説明 エスケープの例
) 右カッコ
  • Example")"pwd1または
  • "Example)pwd1"
< より小さい
  • Example"<"pwd1または
  • "Example<pwd1"
> より大きい
  • Example">"pwd1または
  • "Example>pwd1"
& アンパサンド
  • Example"&"pwd1または
  • "Example&pwd1"
| パイプ
  • Example"|"pwd1または
  • "Example|pwd1"
" 引用符
  • Example"""pwd1または
  • "Example"pwd1"

Windowsバッチ・ファイルのプレーン・テキスト・パスワードでの感嘆符の使用

EPM自動化で使用されるWindowsバッチ・ファイルのプレーン・テキスト・パスワードでの感嘆符(!)の使用は、次のように処理する必要があります。

  1. エスケープ文字として、感嘆符の前に2つのキャレット記号(^^)を使用します。たとえば、パスワードがWelc0me!の場合、Welc0me^^!とエンコードします。
  2. 次の宣言を含めることで、ファイルの冒頭にDisableDelayedExpansionを設定して、バッチ・ファイルを更新します。

    setlocal DisableDelayedExpansion

  3. スクリプト内にsetlocal EnableExtensions EnableDelayedExpansion宣言が存在する場合は、それを削除します。

UNIX/Linux

UNIXおよびLinuxオペレーティング・システムでは、バックスラッシュ(\)を使用して特殊文字をエスケープする必要があります。

注:

  • ! (感嘆符)をエスケープするには、パスワードを一重引用符で囲むか、エスケープ文字としてバックスラッシュ(\)を使用します。
  • \$'"をエスケープするには、パスワードを二重引用符で囲むか、エスケープ文字として円記号(\)を使用します。

表C-2 特殊文字の処理: UNIX/Linux

文字 説明 エスケープの例
( 左カッコ Example\(pwd1
) 右カッコ Example\)pwd1
< より小さい Example\<pwd1
> より大きい Example\>pwd1
` アポストロフィ Example\'pwd1
! 感嘆符
  • 'Example!pwd1'または
  • Example\!pwd1
# ハッシュ Example\#pwd1
& アンパサンド Example\&pwd1
| パイプ Example\|pwd1
; セミコロン Example\;pwd1
. ピリオド Example\.pwd1
" 引用符
  • Example\"pwd1または
  • "Example\"pwd1"
' 一重引用符
  • Example\'pwd1または
  • "Example\'pwd1"
$ ドル記号
  • Example\$pwd1または
  • "Example\$pwd1"
\ バックスラッシュ
  • Example\\pwd1または
  • "Example\\pwd1"

UNIXまたはLinuxスクリプトのプレーン・テキスト・パスワードでの感嘆符の使用

UNIX/Linuxスクリプトでは、シェル変数に格納されているEPM自動化パスワードに特殊文字が含まれている場合は、エスケープ・シーケンスとして3つのバックスラッシュを使用してから、文字列を二重引用符で囲みます。たとえば、lzi[ACO(e*7Qd)jEというパスワードがシェル変数passwordに含まれている場合、スクリプト内では次のように記述します。

password="lzi[ACO\\\(e*7Qd\\\)jE"