fchdir(fd) -> 0Ruby 3.3 から[permalink][rdoc][edit]fchdir(fd) { ... } -> object-
カレントディレクトリを、整数のファイルディスクリプタ fd が指すディレクトリに変更します。
ファイルディスクリプタを UNIX ソケット経由で渡したり子プロセスに渡したりする場合、Dir.chdir の代わりに fchdir を使うと TOCTOU (time-of-check to time-of-use) 脆弱性を避けられます。
ブロックを指定しない場合、カレントディレクトリを fd の指すディレクトリに変更し、 0 を返します。
ブロックを指定した場合、カレントディレクトリの変更はブロックの実行中に限られます。ブロックの実行結果を返します。
- [PARAM]
fd: - ディレクトリを指すファイルディスクリプタを整数で指定します。
- [EXCEPTION]
Errno::EXXX: - 失敗した場合に発生します。
Dir.chdir("/var/spool/mail") p Dir.pwd # => "/var/spool/mail" dir = Dir.new("/usr") Dir.fchdir(dir.fileno) p Dir.pwd # => "/usr"[SEE_ALSO] Dir.chdir, Dir#fileno, Dir.for_fd
- [PARAM]