Linux中exec函数用法,linux exec用法总结
Linux中exec的用法总结
先总结一个表:exec命令作用
exec ls在shell中执行ls,ls结束后不返回原来的shell中了
exec将file中的内容作为exec的标准输入
exec >file将file中的内容作为标准写出
exec 3将file读入到fd3中
sortfd3中读入的内容被分类
exec 4>file将写入fd4中的内容写入file中
ls >&4Ls将不会有显示,直接写入fd4中了,即上面的file中
exec 5创建fd4的拷贝fd5
exec 3关闭fd3
1.exec 执行程序
虽然exec和source都是在父进程中直接执行,但exec这个与source有很大的区别,source是执行shell脚本,而且执行后会返回以前的shell。而exec的执行不会返回以前的shell了,而是直接把以前登陆shell作为一个程序看待,在其上经行复制。
举例说明:
root@localhost:~/test#exec ls
exp1 exp5 linux-2.6.27.54 ngis_post.sh test xen-3.0.1-install
root@localhost:~/test#exec >text
root@localhost:~/test#ls
root@localhost:~/test#pwd
root@localhost:~/test#echo "hello"
root@localhost:~/test#exec>/dev/tty
root@localhost:~/test#cat text
exp1
exp5
linux-2.6.27.54
ngis_post.sh
test
text
xen-3.0.1-install
/root/test
hello
root@localhost:~/test#
Exec >text 是将当前shell的标准输出都打开到text文件中
root@localhost:~/test#cat test
ls
Pwd
root@localhost:~/test#bash
root@localhost:~/test#exec
root@localhost:~/test#ls
exp1 exp5 linux-2.6.27.54 ngis_post.sh test text xen-3.0.1-install
root@localhost:~/test#pwd
/root/test
root@localhost:~/test#
root@localhost:~/test#exit #自动执行
2.exec的重定向
先上我们进如/dev/fd/目录下看一下:
root@localhost:~/test#cd /dev/fd
root@localhost:/dev/fd#ls
0 1 2 255
默认会有这四个项:0是标准输入,默认是键盘。
1是标准输出,默认是屏幕/dev/tty
2是标准错误,默认也是屏幕
255
当我们执行exec 3>test时:
root@localhost:/dev/fd#exec 3>/root/test/test
root@localhost:/dev/fd#ls
0 1 2 255 3
root@localhost:/dev/fd#
看到了吧,多了个3,也就是又增加了一个设备,这里也可以体会下linux设备即文件的理念。这时候fd3就相当于一个管道了,重定向到fd3中的文件会被写在test中。关闭这个重定向可以用exec 3>&-。
root@localhost:/dev/fd#who >&3
root@localhost:/dev/fd#ls >&3
root@localhost:/dev/fd#exec 3>&-
root@localhost:/dev/fd#cat /root/test/te
test text
root@localhost:/dev/fd#cat /root/test/test
root tty1 2010-11-16 01:13
root pts/0 2010-11-15 22:01 (192.168.0.1)
root pts/2 2010-11-16 01:02 (192.168.0.1)
0
1
2
255
3
3.应用举例:
exec 3
while read -u 3 pkg
do
echo "$pkg"
done
Linux中exec函数用法,linux exec用法总结相关推荐
- 每天学一点儿shell:linux中时间函数的date的用法
文章目录 1.linux中date函数格式 2.date日期函数的具体用法 2.1.获取相应格式的日期 2.2.获取相隔时间段的日期 2.2.1.获取今天的日期 2.2.2.获取昨天的日期 2.2.3 ...
- Linux中fork函数的作用及用法
https://blog.csdn.net/weixin_40853073/article/details/81873398
- c++中的fork函数_linux c语言 fork() 和 exec 函数的简介和用法
linux c语言 fork() 和 exec 函数的简介和用法 假如我们在编写1个c程序时想调用1个shell脚本或者执行1段 bash shell命令, 应该如何实现呢? 其实在<stdli ...
- php umount强制,linux中mount/umount命令的基本用法及开机自动挂载方法
本文介绍了linux中mount/umount命令的基本用法及开机自动挂载,具体方法如下: mount命令格式如下: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a ...
- linux mount 指定用户名,linux中mount/umount命令的基本用法及开机自动挂载方法
本文介绍了linux中mount/umount命令的基本用法及开机自动挂载,具体方法如下: mount命令格式如下: 格式:mount [-参数] [设备名称] [挂载点] 其中常用的参数有: -a ...
- linux 移动剪切命令,Linux中vi的复制命令的用法详解
在Linux系统中,使用VI编辑的时候经常用到的操作就是复制粘贴,那么下面由学习啦小编为大家整理了linux中vi的复制命令的用法详解的相关知识,希望对大家有帮助! Linux中vi的复制命令的用法详 ...
- linux中替换命令详解,linux中sed命令字符串替换的用法详解
Linux系统中sed命令可以将字符串批量替换,省去了很多麻烦,下面由学习啦小编为大家整理了linux系统中sed命令字符串替换的用法详解,希望对大家有帮助! linux中sed命令字符串替换的用法详 ...
- linux内核sock_sendmsg,为什么linux中sendto函数中的msg.msg_iovlen=1;
为什么linux中sendto函数中的msg.msg_iovlen=1; | 内核中定义的sys_sendto的源码吗? 这个属于sendmsg中struct msghdr的用法问题, sys_sen ...
- linux 内核 fget,fgets函数 linux中fgets函数怎么用
一个函数该如何使用?我们最先要了解的就是这个函数的语法以及具体的含义是什么,所以今天我们就来看一看fgets函数在实际的运用过程当中是如何使用的,希望能给大家带来一定的帮助. fgets函数--lin ...
- Linux服务端开发——Linux中stat函数和stat命令使用详解
这篇文章主要介绍了Linux中stat函数和stat命令使用详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧 stat函数和s ...
最新文章
- Docker 入门系列(3)- Docker 容器(创建、启动、终止、进入、删除、导入、导出容器、容器和镜像转化)
- 关于JAVA并发编程你需要知道的——硬件篇
- 前端学习(1728):前端系列javascript之状态栏分析
- 【专题二】应用号(小程序)开发教程首发第二弹!(0923)
- BlackBerry 应用程序开发者指南 第二卷:高级--第11章 管理通知(Notification)
- android picasso 三级缓存,Android中图片的三级缓存浅析
- java hashSet
- android 自定义paint,Android自定义View中Paint、Rect、Canvas介绍(一)
- 为确保网络中不同计算机,在计算机网络中,为确保网络中不同计算机之间能正确地传送和接收数据,它们必须遵循一组共同的规则和约定。这些规则、约定或标准通常被称为____。...
- static、const、static const分析
- 神界计算机丢失msvcp120.dll,win8 msvcp120.dll丢失怎样修复?计算机中丢失msvcp120.dll处理办法...
- VC2013生成的程序兼容WindowsXP操作系统
- 查看表空间大小和使用率,增加表空间大小的四种方法
- 千兆路由器怎么设置网速最快_千兆路由器怎么设置才能发挥最好【图】
- 基于SSM实现水果蔬菜商城管理系统
- 同一个实验室,硕士们进了大厂拿高薪,为什么博士却要挤破头进高校?
- 数据分析面试:Excel必考知识点!
- REST模式:POST,GET,PUT,DELETE,PATCH的含义与区别
- sendmail服务器部署
- [深度学习论文笔记]医学图像分割U型网络大合集
热门文章
- 安装VS2008的时候Windows Mobile 5.0 SDK R2 for pocket pc错误解决方案
- android studio透明背景,使用Android Studio时出现黑色的PNG透明背景
- java中isa什么意思_aiisa是什么意思?
- zabbix短信告警oracle,zabbix自定义脚本实现短信报警提醒
- 小程序上传图片报错MiniProgramError “createUploadTask:fail url not in domain list“ 解决方案
- CityEngine 免费试用申请、下载与配置(2018)
- Android之底部菜单栏的实现
- 安卓支付宝抢红包脚本软件
- 《美丽心灵》兼谈纳什均衡理论
- 【转】用Android-X86和VirtualBox打造高性能Android开发环境