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

做网站的软件多少钱/站内关键词自然排名优化

做网站的软件多少钱,站内关键词自然排名优化,建设厅的证在哪里查询,人脉做的最好的网站进程替换和命令替换非常相似。命令替换是把一个命令的输出结果赋值给另一个变量,例如dir_filesls -l或date_time$(date);而进程替换则是把一个命令的输出结果传递给另一个(组)命令。为了说明进程替换的必要性,我们先来看一个使用管道的例子&a…

进程替换和命令替换非常相似。命令替换是把一个命令的输出结果赋值给另一个变量,例如dir_files=`ls -l`或date_time=$(date);而进程替换则是把一个命令的输出结果传递给另一个(组)命令。

为了说明进程替换的必要性,我们先来看一个使用管道的例子:echo "http://www.beylze.com/d/file/20190908/y5jvity5mfg.html | read

echo $REPLY

以上代码输出结果总是为空,因为 echo 命令在父 shell 中执行,而 read 命令在子 Shell 中执行,当 read 执行结束时,子 Shell 被销毁,REPLY 变量也就消失了。管道中的命令总是在子 Shell 中执行的,任何给变量赋值的命令都会遭遇到这个问题。使用 read 读取数据时,如果没有提供变量名,那么读取到的数据将存放到环境变量 REPLY 中,这一点已在《Shell read》中讲到。

幸运的是,Shell 提供了一种“特异功能”,叫做进程替换,它可以用来解决这种麻烦。

Shell 进程替换有两种写法,一种用来产生标准输出,借助输入重定向,它的输出结果可以作为另一个命令的输入:

另一种用来接受标准输入,借助输出重定向,它可以接收另一个命令的输出结果:

>(commands)

commands 是一组命令列表,多个命令之间以分号;分隔。注意,与圆括号之间是没有空格的。

例如,为了解决上面遇到的问题,我们可以像下面这样使用进程替换:read 

echo $REPLY

输出结果:

http://c.biancheng.net/shell/

整体上来看,Shell 把echo "http://www.beylze.com/d/file/20190908/y5jvity5mfg.html的输出结果作为 read 的输入。

注意,两个

本例中的 read 命令和第二个 echo 命令都在当前 Shell 进程中运行,读取的数据也会保存到当前进程的 REPLY 变量,大家都在一个进程中,所以使用 echo 能够成功输出。

而在前面的例子中我们使用了管道,echo 命令在父进程中运行,read 命令在子进程中运行,读取的数据也保存在子进程的 REPLY 变量中,echo 命令和 REPLY 变量不在一个进程中,而子进程的环境变量对父进程是不可见的,所以读取失败。

再来看一个进程替换用作「接受标准输入」的例子:

echo "C语言中文网" > >(read; echo "你好,$REPLY")

运行结果:

你好,C语言中文网

因为使用了重定向,read 命令从echo "C语言中文网"的输出结果中读取数据。

Shell进程替换的本质

为了能够在不同进程之间传递数据,实际上进程替换会跟系统中的文件关联起来,这个文件的名字为/dev/fd/n(n 是一个整数)。该文件会作为参数传递给()中的命令,()中的命令对该文件是读取还是写入取决于进程替换格式是:如果是>(),那么该文件会给()中的命令提供输入;借助输出重定向,要输入的内容可以从其它命令而来。

如果是

使用 echo 命令可以查看进程替换对应的文件名:[c.biancheng.net]$ echo >(true)

/dev/fd/63

[c.biancheng.net]$ echo 

/dev/fd/63

[c.biancheng.net]$ echo >(true) 

/dev/fd/63 /dev/fd/62

/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.lbrq.cn/news/1074115.html

相关文章:

  • 河曲县城乡建设管理局网站/seo监控
  • 义乌seo快速排名/深圳优化公司样高粱seo
  • 深圳网站建设科技有限公司/百度广告联系方式
  • 河南网站制作公司哪家好/新乡seo外包
  • 福州企业建站程序/网店代运营骗局
  • ps里新建网站尺寸怎么做/百度指数批量查询
  • 网站服务器开发/温州seo品牌优化软件
  • 网站域名想更换要怎么做/微信管理软件
  • 诸城哪里有做网站的/公司网站排名
  • 做动态网站需要什么软件/宁波优化网站厂家
  • 武汉建网公司网站建设/百度搜索关键词优化方法
  • 河北永生建筑工程网站/网站开发框架
  • 建立自信/汕头seo全网营销
  • 微网站免费制作/趣丁号友情链接
  • 网站建设工作室简介/个人网站的制作模板
  • 网站建设专业性的评价/推广信息发布平台
  • php 修改 wordpress/抖音seo点击软件排名
  • 自助wap建站/武汉百度推广多少钱
  • 乒乓球网站建设目标/百度seo建议
  • 做网站用什么编程/百度搜索引擎技巧
  • 建设商务网站公司/谷歌seo是指什么意思
  • 打电话叫人做网站/万维网域名注册查询
  • 做照片书的网站/百度退款客服电话
  • 赛扶做网站/什么推广平台好
  • 合肥做网站哪家公司好/html网页制作模板
  • 网站中的关键词seo设置/最新热点新闻
  • 青浦b2c网站制作价格/人力资源培训网
  • 石狮市建设局网站/seo推广怎么收费
  • 网站建设的目标是/美国疫情最新数据消息
  • 石家庄专门做网站的公司/搜索引擎营销怎么做
  • Nvidia Orin DK 刷机CUDA TensorRT+硬盘扩容+ROS+Realsense+OpenCV+Ollama+Yolo11 一站式解决方案
  • 数据结构:在链表中插入节点(Inserting in a Linked List)
  • SpringBoot 02 AOP
  • 9.3panic!最佳实践
  • Vue3中Markdown解析与渲染的完整解决方案:从安全到性能优化
  • SpringBoot实战:高效Web开发