Documentation
¶
Overview ¶
Package osop -- os操作関連についてのサンプルが配置されているパッケージです。
Index ¶
- func Clearenv() error
- func Environ() error
- func Expand() error
- func ExpandEnv() error
- func GetEnv() error
- func HomeDir() error
- func ListProcesses() error
- func LookupEnv() error
- func Mkdir() error
- func NewRegister() mapping.Register
- func OpenInRoot() error
- func OpenRoot() error
- func Pid() error
- func Pname() error
- func Setenv() error
- func Unsetenv() error
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
func Clearenv ¶ added in v0.5.16
func Clearenv() error
Clearenv は、os.Clearenv() のサンプルです。
全環境変数をクリアします。(このプロセス上での)
REFERENCES ¶
func Environ ¶ added in v0.5.15
func Environ() error
Environ は、os.Environ()のサンプルです。
os.Environ() は、現在の環境変数の値を key=value 形式の文字列で返す。 戻り値は []string 。
REFERENCES ¶
func Expand ¶ added in v0.5.15
func Expand() error
Expand は、os.Expand() のサンプルです。
Expandは、マッピング関数に基づいて文字列の${var}または$varを置き換えます。 マッピング関数の書式は
func(string) string
となっています。 os.ExpandEnv() は、以下と同じことになります。
os.Expand(s, os.Getenv)
REFERENCES ¶
func ExpandEnv ¶ added in v0.5.15
func ExpandEnv() error
ExpandEnv は、os.ExpandEnv() のサンプルです。
ExpandEnv は、現在の環境変数の値に従って、文字列中の ${var} または $var を置き換えます。 未定義の変数への参照は空文字列に置き換えられます。
戻り値は string で、error は返らない。
REFERENCES ¶
func GetEnv ¶ added in v0.5.15
func GetEnv() error
GetEnv は、os.GetEnv() のサンプルです。
Getenvは、キーで指定された環境変数の値を取得します。 値が返されるが、変数が存在しない場合は空が返ります。 空の値と未設定の値を区別するには、LookupEnvを使用します。
戻り値は string で、error は返却されない。
REFERENCES ¶
func HomeDir ¶ added in v0.5.43
func HomeDir() error
HomeDir は、os.UserHomeDir()のサンプルです。 Go 1.12から追加された関数。user.Current.HomeDirを使わなくても良くなる。
osパッケージ側に以下の関数が用意されている
- os.UserHomeDir - os.UserConfigDir - os.UserCacheDir
REFERENCES ¶
func ListProcesses ¶ added in v0.4.5
func ListProcesses() error
ListProcesses -- プロセスリストを取得するサンプルです.
本サンプルは Windows では動作しません。
REFERENCES:
func LookupEnv ¶ added in v0.5.15
func LookupEnv() error
LookupEnv は、os.LookupEnv() のサンプルです。
LookupEnv は、キーで指定された環境変数の値を取得します。 その変数が環境に存在する場合、その値 (空でもよい) が返され、ブール値は true になります。 そうでない場合は、返される値は空で、ブール値は false になります。
REFERENCES ¶
func NewRegister ¶
NewRegister -- このパッケージ用のサンプルを登録する mapping.Register を生成します。
func OpenInRoot ¶ added in v0.5.44
func OpenInRoot() error
OpenInRoot は、os.OpenInRoot についてのサンプルです。
os.OpenInRoot(dir, name) は、以下のショートカットです。
- os.OpenRoot(dir)
- root.Open(name)
REFERENCES ¶
func OpenRoot ¶ added in v0.5.44
func OpenRoot() error
OpenRoot は、os.OpenRoot についてのサンプルです。
os.OpenRoot は、Go 1.24 で入った特定ディレクトリ配下に操作を閉じ込めるための API です 。 指定したディレクトリをrootとして扱い、その配下のパスのみを許可するようにします。 つまり、外に(../)出れないようにします。
自分自身で利用する小さなツールなどでは利用しなくても問題ありませんが 外部から渡されてきたパスなど信頼できない可能性がある場合は、この関数を用いて閉じた操作をすると 安全性が高まります。(先に filepath.Clean を呼んで、パスのクリーニングもしておいたほうが良い)
戻り値は *os.Root となっており、ここから Open したり Read/Write したり出来ます。
> Root may be used to only access files within a single directory tree. Methods on Root can only access files and directories beneath a root directory. If any component of a file name passed to a method of Root references a location outside the root, the method returns an error. File names may reference the directory itself (.). Methods on Root will follow symbolic links, but symbolic links may not reference a location outside the root. Symbolic links must not be absolute. Methods on Root do not prohibit traversal of filesystem boundaries, Linux bind mounts, /proc special files, or access to Unix device files. Methods on Root are safe to be used from multiple goroutines simultaneously. On most platforms, creating a Root opens a file descriptor or handle referencing the directory. If the directory is moved, methods on Root reference the original directory in its new location.
> Root は、単一のディレクトリツリー内のファイルへのアクセスにのみ使用できます。 Root のメソッドは、ルートディレクトリ以下のファイルとディレクトリにのみアクセスできます。Root のメソッドに渡されるファイル名の一部がルート以外の場所を参照している場合、メソッドはエラーを返します。ファイル名はディレクトリ自体 (.) を参照できます。 Root のメソッドはシンボリックリンクをたどりますが、シンボリックリンクはルート以外の場所を参照できません。シンボリックリンクは絶対リンクであってはなりません。 Root のメソッドは、ファイルシステム境界、Linux のバインドマウント、/proc 特殊ファイル、または Unix デバイスファイルへのアクセスを禁止しません。 Root のメソッドは、複数のゴルーチンから同時に使用しても安全です。 ほとんどのプラットフォームでは、Root を作成すると、ディレクトリを参照するファイルディスクリプタまたはハンドルが開かれます。ディレクトリが移動された場合、Root のメソッドは新しい場所にある元のディレクトリを参照します。
REFERENCES ¶
func Pid ¶ added in v0.5.19
func Pid() error
Pid は、os.Getpid()のサンプルです.
os.Getpid() は、呼び出し元のプロセスIDを返す。 os.Getpid() は、errorを返さない。
REFENRECES ¶
func Pname ¶ added in v0.5.19
func Pname() error
Pname は、自身のプロセス名を取得するサンプルです。
os.Executable()を利用して取得します。
> Executable returns the path name for the executable that started the current process.
> (Executable は、現在のプロセスを開始した実行ファイルのパス名を返します。)
ただし、以下の点に注意。
> There is no guarantee that the path is still pointing to the correct executable. If a symlink was used to start the process, depending on the operating system, the result might be the symlink or the path it pointed to.
> (パスが正しい実行ファイルを指しているという保証はない。 シンボリックリンクがプロセスの起動に使用された場合、オペレーティング・システムによっては、 シンボリックリンクまたはそのシンボリックリンクが指すパスが結果として返される可能性がある。)
REFERENCES ¶
func Setenv ¶ added in v0.5.15
func Setenv() error
Setenv は、os.Setenv() のサンプルです。
既に存在する環境変数に対して os.Setenv() した場合は そのプロセス内で値が上書きされる。
REFERENCES ¶
Types ¶
This section is empty.