当前位置: 首页 > news >正文

深圳梵高网站建设服务学做网站的书哪些好

深圳梵高网站建设服务,学做网站的书哪些好,asp.net搭建网站,外贸小网站建设以下内容源于C语言中文网的学习与整理#xff0c;如有侵权请告知删除。 1、问题引入 这里将Shell中的“进程替换”与“管道”放在一起讲#xff0c;是因为两者的作用几乎类似。 进程替换#xff1a;将一个命令的输出结果传递给另一个#xff08;组#xff09;命令。 管…以下内容源于C语言中文网的学习与整理如有侵权请告知删除。 1、问题引入  这里将Shell中的“进程替换”与“管道”放在一起讲是因为两者的作用几乎类似。 进程替换将一个命令的输出结果传递给另一个组命令。 管道将两个或者多个命令连接到一起把一个命令的输出作为下一个命令的输入以这种方式连接的两个或者多个命令就形成了管道。 它们都是将一个命令的输出传递给另一个命令那么它们有什么区别呢 我们首先看一个使用管道的例子。 xjhubuntu:~/iot/tmp$ echo http://c.biancheng.net/shell/ | read xjhubuntu:~/iot/tmp$ echo $REPLYxjhubuntu:~/iot/tmp$ 以上代码输出结果总是为空因为 echo $REPLY 命令在父 Shell 中执行而 read 命令在子 Shell 中执行当 read 执行结束时子 Shell 被销毁REPLY 变量也就消失了。 管道中的命令总是在子 Shell 中执行的任何给变量赋值的命令都会遭遇到这个问题。 使用read读取数据时如果没有提供变量名则读取到的数据将存放到环境变量 REPLY中。 2、进程替换 Shell 的“进程替换”可以用来解决这种麻烦。Shell 进程替换有两种写法 一种用来产生标准输出借助输入重定向它的输出结果可以作为另一个命令的输入 (commands) 另一种用来接受标准输入借助输出重定向它可以接收另一个命令的输出结果 (commands) 其中commands可以是命令列表命令之间用分号隔开另外或与圆括号之间是没有空格的。 【1】例如为了解决上面遇到的问题我们可以像下面这样使用进程替换 read (echo http://c.biancheng.net/shell/) echo $REPLY 整体上来看Shell 把echo http://c.biancheng.net/shell/的输出结果作为 read 的输入。()用来捕获 echo 命令的输出结果用来将该结果重定向到 read。 注意两个之间是有空格的第一个表示输入重定向第二个和()连在一起表示进程替换。 本例中的 read 命令和第二个 echo 命令都在当前 Shell 进程中运行读取的数据也会保存到当前进程的 REPLY 变量大家都在一个进程中所以使用 echo 能够成功输出。 而在前面的例子中我们使用了管道echo 命令在父进程中运行read 命令在子进程中运行读取的数据也保存在子进程的 REPLY 变量中echo 命令和 REPLY 变量不在一个进程中而子进程的环境变量对父进程是不可见的所以读取失败。 【2】再来看一个进程替换用作“接受标准输入”的例子。因为使用了重定向read 命令从echo C语言中文网的输出结果中读取数据。 xjhubuntu:~/iot/tmp$ echo C语言中文网 (read; echo 你好$REPLY) xjhubuntu:~/iot/tmp$ 你好C语言中文网xjhubuntu:~/iot/tmp$ 3、进程替换的本质 为了能够在不同进程之间传递数据实际上进程替换会跟系统中的文件关联起来也就是让某个文件当做中间者这个文件的名字为/dev/fd/nn 是一个整数。该文件会作为参数传递给()中的命令()中的命令对该文件是读取还是写入取决于进程替换格式是还是 1如果是()那么该文件会给()中的命令提供输入借助输出重定向要输入的内容可以从其它命令而来。 2如果是()那么该文件会接收()中命令的输出结果借助输入重定向可以将该文件的内容作为其它命令的输入。 使用 echo 命令可以查看进程替换对应的文件名 xjhubuntu:~/iot/tmp$ echo (true) /dev/fd/63 xjhubuntu:~/iot/tmp$ echo (true) /dev/fd/63 xjhubuntu:~/iot/tmp$ echo (true) (true) /dev/fd/63 /dev/fd/62 xjhubuntu:~/iot/tmp$ /dev/fd/目录下有很多序号文件进程替换一般用的是 63 号文件该文件是系统内部文件我们一般查看不到。 我们通过下面的语句进行实例分析 echo shellscript (read; echo hello, $REPLY) 第一个表示输出重定向它把第一个 echo 命令的输出结果重定向到/dev/fd/63文件中。 ()中的第一个命令是 read它需要从标准输入中读取数据此时就用/dev/fd/63作为输入文件把该文件的内容交给 read 命令接着使用 echo 命令输出 read 读取到的内容。 可以看到/dev/fd/63文件起到了数据中转或者数据桥梁的作用借助重定向它将()内部的命令和外部的命令联系起来使得数据能够在这些命令之间流通。
http://www.hkea.cn/news/14459269/

相关文章:

  • 怎么建设自己的论坛网站dede网站错位
  • 洛阳直播网站建设宣传推广的作用
  • 专业做网站建设设计做网站设计需要多久
  • 网站建设要代码有什么好处张家界网络
  • 网站app制作wordpress媒体文件隔离
  • 宝安网站开发微信支付wordpress
  • 网站建设工程师培训电子商务网站开发分几个模块
  • 自己做的网站如何让qq登录做竞价的网站
  • 做网站怎么样网站采用什么字体
  • 织梦大气婚纱影楼网站源码网站模板资源
  • 网站系统模版自己怎么做企业网站建设
  • 网站建设页面图住房和城乡建设部网站政策发布
  • 上海高端定制网站公司公司邮箱价格
  • 吉林省软环境建设网站瑞安市公用建设局网站
  • 免费网站建设加盟校园在线网站怎么做
  • 浙江省永康市建设局网站进不去域名注册以后怎样做网站
  • 咖啡店网站模板创建吃的网站怎么做
  • 百度seo整站优化微信登录wordpress
  • 网站建设外包注意事项福田网站建设信科网络
  • 我做网站了珠海做网站那家好
  • stanley工具网站开发点播视频网站怎么建设
  • 网站收录少的原因南和网站建设
  • 网站 目录结构开发一个网站大概多少钱
  • 视频网站应该怎么做西安seo技术
  • 湖南平台网站建设推荐免费响应式企业网站源码
  • wordpress网站回调域iis添加网站无法访问
  • 易班网站建设设计商城网站
  • 网页设计网站有哪些京东网站建设的经费预算
  • 网站空间域名能不能自己续费网站刷流量对网站有影响吗
  • dw免费网站模板珠海网站建设培训学校