Ama*_*mar 2 shell file-descriptors files stdout stderr
假设我将程序的STDOUT,重定向STDERR到文件。
./script.sh 1> output.log 2> error.log
Run Code Online (Sandbox Code Playgroud)
正在运行的程序能否找到这个,即知道这些文件的路径?
{ readlink /dev/fd/[1,2] ; echo "out" ; } >./file 2>./error
{ readlink /dev/fd/0 ; cat ; } <./file
Run Code Online (Sandbox Code Playgroud)
输出:
/home/mikeserv/file
/home/mikeserv/file
/home/mikeserv/error
out
{ readlink /proc/$$/fd/[1,2] ; echo out ; } >./file 2>./error
{ readlink /proc/$$/fd/0 ; cat ; } <./file
Run Code Online (Sandbox Code Playgroud)
输出:
/home/mikeserv/file
/home/mikeserv/file
/home/mikeserv/error
out
Run Code Online (Sandbox Code Playgroud)