Is it possible to call os system calls like open, close etc from a shell script? I tried googling but it takes me in the wrong direction of using "system()" command. Can some one help on this?
可以将文章内容翻译成中文,广告屏蔽插件可能会导致该功能失效(如失效,请关闭广告屏蔽插件后再试):
问题:
回答1:
Many syscalls are accessible, but only via the native shell mechanisms, rather than being able to directly specify exact parameters. For instance:
exec 4>outfile
calls:
open("outfile", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
dup2(3, 4)
(with 3
being replaced by the next available descriptor), and
exec 4<&-
calls:
close(4)
Some shells, such as bash, allow additional builtins to be added through loadable modules (see the enable
builtin, used to load such modules); if you really needed functionality not provided upstream, you could potentially implement it that way.