製品情報
技術情報
  簡単に使ってみましょう(Windows)
  簡単に使ってみましょう(UNIX)
  よくある質問 (FAQ)
  テクニカルノート
  製品比較
  用語集
  ネットワーク上でのソフトウェア開発
  インターファイル・ブランチング
  ソフトウェア構成管理の
高度な実践方法・・・
  変更管理を通じた製品品質の向上
  PERFORCE−SOFTUNE
連携運用ガイド (Rev1.02)[PDF]
ライセンス情報
テクニカルサポート
ソフトウェア ダウンロード
マニュアル ダウンロード
 
テクニカルノート041 HOME 製品 PERFORCE 技術情報 ノート


特殊文字の使用
特殊なシェル文字とp4コマンド

タスク

p4コマンドラインで特殊文字を取り扱うには、どのようにすればよいでしょうか

解決策

PERFORCEは * および # の文字をファイル指定において使用します。これらの文字は多くのコマンドシェルにおいて特別な意味があり、p4コマンドでは引用符を使用する必要がある場合があります。(UNIXでは単一引用符を使用し、Windows MS-DOSシェルでは二重引用符を使用します。)

# シンボルの使用例
p4 sync #none
                  
このコマンドはすべてのディポファイルをワークスペースから削除するはずです。そうではなく、ワークスペース全体を最新リビジョンに同期するという処理が行われた場合は、コマンドシェルで # がコメント文字として解釈されたためです。このような場合、次のコマンドを実行してみましょう。
p4 sync '#none'
                  
アスタリスクの使用例

あるいは、例えば次のようなコマンドで、
p4 files stuff/*
                  
「ファイルが見つかりません」と出力される場合、コマンドシェルにおいてPERFORCEが感知するよりも前に * ワイルドカードを拡張しようとしている可能性があります。引用符の使用方法はいくつか考えられます。例を示します。
MS-DOS  p4 files "stuff/*"
        p4 files stuff/"*"

Unix    p4 files 'stuff/*'
        p4 files stuff/'*'
        p4 files stuff/*
                  
また、PERFORCEワイルドカードの %1 を使用することもできます。これは * と同じ意味ですが、ほとんどのシェルでは特殊な意味を持ちません。
p4 files stuff/%1
                  
(これは、%1 が特殊な意味を持つ MS-DOS バッチスクリプトでは機能しないことに注意してください。)

二重の順スラッシュに関する注意

PERFORCEでは、ファイルパスの参照の際に二重に組み合わせた順スラッシュ文字 "//" を使用することがよくあります。 // 文字の組み合わせは、ディポまたはクライアント・ワークスペースのパスではなく、汎用命名規則(Universal Naming Convention:UNC)のパスを参照しているとシェルに解釈される可能性があります。 //depot または //clientname の構文を使用したとき、PERFORCEコマンドから結果を取得するのに異常に長く時間がかかる場合は、パス文字列全体を引用符で囲んでみてください。一般に、この問題の影響を受けやすいのはWindows環境でのUNIXシェルだけです。その他のネットワークの問題に関連する遅延については、NOTE040「ネットワークの問題の切り分け」を参照してください。


戻る