2016-04-27 8 views
1

私はいくつかのzshスクリプトを読んでおり、この構文は${PWD:A}です。私は$ PWDが何であるかを知っていて、bash変数置換構文(主にthis excellent tutorialのおかげです)です。それにもかかわらず、zshの$ {variable:flag}構文について説明するドキュメントは見つかりませんでした。

答えて

1

${PWD:A}は、symlink-free絶対パス$PWDを返します。 - 現代のシステムが行うシステムがrealpathシステムコールを持っている場合は、シンボリックリンクを解決する任意の...

  • を解決
  • カレントディレクトリを付加

    • :それはでそう。 $PWDとして

    すでにカレントディレクトリの絶対パスであると${PWD:A}のみを任意のシンボリックリンクを解決するために持っている、..または.要素を(少なくとも、それは本当にいけない)が含まれていません。


    ${name:flag}構文は履歴展開修飾子パラメータのを使用することができます。

    実際にParameter Expansion of the ZSH Manualman zshexpnも参照)で説明したです。残念ながら、他の${nameXXXXX}拡張で列挙されたテキストとしないで1つだけの文章である:以下の操作に加えて

    、履歴展開で修飾子に記載結腸改質剤を塗布することができる:例えば、${i:s/foo/bar/}行いますパラメータ$iの展開時の文字列置換。

    利用可能な修飾語のリストは、サブセクションModifiers under History Expansionにあります。 Aの場合:

    a

    絶対パスにファイル名を回し

    :必要に応じて、カレントディレクトリを付加し、パス内の...のいずれかの使用を解決します。ファイルまたはその介在するディレクトリが存在しない場合でも、変換が行われることに注意してください。 aとして

    A

    が、また、可能な場合、シンボリックリンクの使用を解決します。シンボリックリンクを解決する前に、解像度..が発生することに注意してください。この呼び出しは、あなたのシステムにrealpathシステムコールがない限り(現代のシステムでは)aと同じです。

  • +0

    私が探しているもの。ありがとう – biocyberman