symlink (プロシージャ)
public {symlink
url:Url,
linked:String,
error-if-exists?:bool = true
}:void
パッケージ: CURL.IO.FILE

url にシンボリック リンク linked を作成します。

url: リンク先を示します。
linked: url に相対的な、リンクされるオブジェクトへのパスです。
error-if-exists?: ファイルがすでに url に存在する場合に例外がスローされるかどうかを示すフラグで、以下のようになります。

url で指定されたオブジェクトが Directory である場合、このパラメータの値に関係なく例外がスローされます。

説明

シンボリック リンクは、ファイルシステム内の別のファイルまたはディレクトリを参照するファイルシステム内のオブジェクトです。すべてのファイルシステムでシンボリック リンクの概念がサポートサポートされているわけではないので、プラットフォームによってはこのプロシージャが機能しない場合があります。

linked の存在を調べないので、このプロシージャでは壊れたシンボリック リンクが作成される場合があります。

例外のスロー

PermissionDeniedFileException — ユーザーが url の作成のための十分なアクセス権を持っていない場合。
MissingFileExceptionurl のステム パスにディレクトリが存在しない場合。
ExistingFileException — ファイルがすでに url に存在し、error-if-exists? が true である場合、またはディレクトリがすでに url に存在する場合。
FileException — ファイルシステムがシンボリック リンクをサポートしていないなど、この操作の実行中に何らかの障害が発生した場合、別の種類の FileException がスローされる可能性があります。

注意事項

このプロシージャはアトミックではありません。

error-if-exists? = false を指定してもこのプロシージャが ExistingFileException をスローしないとは限りません。たとえば、別のプロセスがタイミング悪くファイルシステムに url で指定したオブジェクトを作成した場合などにはエラーがスローされます。