成人免费xxxxx在线视频软件_久久精品久久久_亚洲国产精品久久久_天天色天天色_亚洲人成一区_欧美一级欧美三级在线观看

linux積累---關于linux特殊重定向的理解

系統 Linux
什么是Here Document?Here Document 是在Linux Shell 中的一種特殊的重定向方式,它的作用就是將兩個delimiter之間的內容(Here Document Content 部分)傳遞給cmd 作為輸入參數。

[[117655]]

什么是Here Document

Here Document 是在Linux Shell 中的一種特殊的重定向方式,它的基本的形式如下

  1. cmd << delimiter 
  2. Here Document Content  
  3. delimiter 

它的作用就是將兩個 delimiter 之間的內容(Here Document Content 部分) 傳遞給cmd 作為輸入參數。

比如在終端中輸入cat << EOF ,系統會提示繼續進行輸入,輸入多行信息再輸入EOF,中間輸入的信息將會顯示在屏幕上。如下:

  1. fish@mangos:~$ cat << EOF 
  2. > First Line  
  3. > Second Line  
  4. > Third Line EOF  
  5. > EOF  
  6. First Line  
  7. Second Line  
  8. Third Line EOF 

注: >這個符號是終端產生的提示輸入信息的標識符

這里要注意幾點

  • EOF 只是一個標識而已,可以替換成任意的合法字符
  • 作為結尾的delimiter一定要頂格寫,前面不能有任何字符
  • 作為結尾的delimiter后面也不能有任何的字符(包括空格)
  • 作為起始的delimiter前后的空格會被省略掉
  • Here Document 不僅可以在終端上使用,在shell 文件中也可以使用,例如下面的here.sh 文件
  1. cat << EOF > output.sh  
  2. echo "hello"  
  3. echo "world"  
  4. EOF  

使用 sh here.sh 運行這個腳本文件,會得到output.sh 這個新文件,里面的內容如下

  1. echo "hello"  
  2. echo "world"  

Here Document的變形

delimiter 與變量

在Here Document 的內容中,不僅可以包括普通的字符,還可以在里面使用變量,例如將上面的here.sh 改為

  1. cat << EOF > output.sh  
  2. echo "This is output"  
  3. echo $1  
  4. EOF 

使用sh here.sh HereDocument 運行腳本得到output.sh的內容

  1. echo "This is output"  
  2. echo HereDocument 

在這里 $1 被展開成為了腳本的參數 HereDocument

但是有時候不想展開這個變量怎么辦呢,可以通過在起始的 delimiter的前后添加 " 來實現,例如將上面的here.sh 改為

  1. cat << "EOF" > output.sh #注意引號  
  2. echo "hello"  
  3. echo "world"  
  4. EOF 

得到的output.sh 的內容為

  1. echo "This is output"  
  2. echo $1 

<< 變為 <<-

Here Document 還有一個用法就是將 '<<' 變為 '<<-'。 使用 <<- 的唯一變化就是Here Document 的內容部分每行前面的 tab (制表符)將會被刪除掉,這種用法是為了編寫Here Document的時候可以將內容部分進行縮進,方便閱讀代碼。

原文鏈接:http://blog.itpub.net/23890223/viewspace-1225789/

責任編輯:牛小雨 來源: 1向2飛的博客
相關推薦

2017-01-19 19:14:20

Linux重定向命令

2010-03-09 16:11:59

Linux重定向

2020-07-27 07:41:23

Linux重定向數據流

2022-11-10 15:08:44

Linux輸入輸出

2014-09-04 11:39:43

Linux

2017-01-19 19:24:29

Linux重定向

2011-04-20 10:15:02

Linuxconsole口

2020-02-24 11:37:56

Linux重定向管道

2010-12-14 15:07:15

ICMP路由重定向

2010-03-19 09:22:02

linux命令應用及語

2010-03-01 14:45:07

Linux文件重定向

2020-07-06 08:00:04

Linux重定向讀寫數據

2010-06-23 16:14:52

Linux Bash

2022-11-14 15:07:09

Linux管道

2009-12-10 14:42:22

Linux操作系統

2020-12-09 11:10:12

shellLinux管道

2022-11-17 08:40:14

Linux輸出錯誤重定向

2009-11-23 18:39:17

PHP重定向

2010-07-13 14:10:44

ICMP協議

2022-09-02 08:03:44

IO程序網卡
點贊
收藏

51CTO技術棧公眾號

主站蜘蛛池模板: 日韩精品一区二区三区 | www.久久久 | 亚洲综合色网站 | 羞羞视频在线免费 | 在线观看日韩精品视频 | 成人免费日韩 | 在线免费看毛片 | 日韩高清国产一区在线 | 日韩第一页 | av资源在线看 | 国产精品视频久久久久 | 国产精品一区视频 | 亚洲少妇综合网 | 国产精品一区一区 | 天天天堂 | 伊人精品一区二区三区 | a中文在线视频 | 亚洲精品久久久久久久久久吃药 | 天天干天天想 | 精品99在线| 超碰在线人 | 亚洲精品视频免费 | 伊人一二三| 欧美三级免费观看 | 精品中文在线 | 国产精品欧美一区二区三区 | 麻豆毛片 | 日韩免费毛片 | av在线免费看网址 | 国产精品久久久久国产a级 欧美日本韩国一区二区 | 欧美成人在线影院 | 天天躁日日躁狠狠躁白人 | www精品美女久久久tv | 久久久久久91 | 欧美极品一区二区 | 91伦理片 | 一区二区三区欧美在线观看 | 国产欧美一区二区三区日本久久久 | 91一区二区 | 在线观看黄色电影 | 狠狠躁夜夜躁人人爽天天高潮 |