来自bash脚本的OS系统调用

时间:2012-04-17 17:54:47

标签: shell system-calls

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

1 个答案:

答案 0 :(得分:7)

许多系统调用都是可访问的,但只能通过本机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内置函数);如果确实需要上游未提供的功能,您可以通过这种方式实现它。