10

是否可以从 shell 脚本调用 os 系统调用,如 open、close 等?我尝试使用谷歌搜索,但它使我使用“system()”命令的方向错误。有人可以帮忙吗?

4

1 回答 1

9

许多系统调用是可访问的,但只能通过本机 shell 机制,而不是能够直接指定确切的参数。例如:

exec 4>outfile

调用:

open("outfile", O_WRONLY|O_CREAT|O_APPEND, 0666) = 3
dup2(3, 4)

3被下一个可用描述符替换),和

exec 4<&-

调用:

close(4)

一些 shell,例如 bash,允许通过可加载模块添加额外的内置函数(参见enable内置函数,用于加载此类模块);如果您确实需要上游未提供的功能,您可以通过这种方式实现它。

于 2012-04-17T18:01:35.513 回答