日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

linux here用法,linux shell的here document用法(cat EOF)

發布時間:2025/3/15 linux 17 豆豆
生活随笔 收集整理的這篇文章主要介紹了 linux here用法,linux shell的here document用法(cat EOF) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

什么是Here Document?

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

cmd << delimiter

Here Document Content

delimiter

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

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

fish@mangos:~$ cat << EOF

> First Line

> Second Line

> Third Line EOF

> EOF

First Line

Second Line

Third Line EOF

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

這里要注意幾點:

EOF只是一個標識而已,可以替換成任意的合法字符(約定大于配置);

作為結尾的delimiter一定要頂格寫,前面不能有任何字符;

作為結尾的delimiter后面也不能有任何的字符(包括空格!!!);

作為起始的delimiter前后的空格會被省略掉;

Here Document 不僅可以在終端上使用,在shell 文件中也可以使用,例如下面的here.sh 文件

cat << EOF > output.txt

echo "hello"

echo "world"

EOF

使用 sh here.sh 運行這個腳本文件,會得到output.txt 這個新文件,其內容如下:

echo "hello"

echo "world"

Here Document的變形

delimiter 與變量

在Here Document 的內容中,不僅可以包括普通的字符,還可以在里面使用變量;

例如將上面的here.sh 改為

cat << EOF > output.sh

echo "This is output"

echo $1

EOF

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

echo "This is output"

echo HereDocument

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

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

cat << "EOF" > output.sh ?#注意引號

echo "This is output"

echo $1

EOF

得到的output.sh 的內容為

echo "This is output"

echo $1

<

Here Document 還有一個用法就是將 '<

使用 <

該用法在編寫Here Document時可將內容部分進行縮進,方便閱讀代碼.

轉自:https://blog.csdn.net/wangjunjun2008/article/details/24351045

&lpar;轉&rpar;linux shell 的here document 用法 &lpar;cat &lt&semi;&lt&semi; EOF&rpar;

什么是Here Documen: Here Document 是在Linux Shell 中的一種特殊的重定向方式,它的基本的形式如下 cmd << delimiter Here Docu ...

linux shell的here document用法

轉載自:?http://my.oschina.net/u/1032146/blog/146941 什么是Here Document?Here Document 是在Linux?Shell 中的一種特殊 ...

《Advanced Bash-scripting Guide》學習(十四):HERE Document和cat &lt&semi;&lt&semi;EOF

本文所選的例子來自于一書,譯者 楊春敏 黃毅 #here document cat <

shell用法 &lpar;cat &lt&semi;&lt&semi; EOF&rpar;

下面的語句會創建不存在的secure.config,如果存在直接追加,然后把多行內容: [database]??????? password = gerrit 寫入文件secure.config ca ...

Linux shell 的 test 命令用法詳解

基本格式:test expression expression為test命令構造的表達式.這里expression是test命令可以理解的任何有效表達式,該簡化格式將是讀者可能會踫見的最常用格式返回值 ...

Linux Shell:Map的用法

Map定義: 在使用map時,需要先聲明,否則結果可能與預期不同,array可以不聲明 方式1: declare -A myMap myMap[" 方式2: declare -A myMap ...

Linux shell - ps&comma;wc命令用法

例1. 查看Oracle數據庫活動進程LOCAL=NO,輸出行數 oracle@sha> ps -ef|grep LOCAL=NO|wc -l 15 解釋:ps -ef是查看所有的進程的 然后用 ...

發現linux shell中&dollar;0&comma;&dollar;&quest;&comma;&dollar;&excl;等的特殊用法

記錄下linux shell下的特殊用法及參數的說明 變量說明: $$ Shell本身的PID(ProcessID) $! Shell最后運行的后臺Process的PID $? 最后運行的命令的結束代 ...

linux shell中&dollar;0&comma;&dollar;&quest;&comma;&dollar;&excl;等的特殊用法

記錄下linux shell下的特殊用法及參數的說明 變量說明: $$Shell本身的PID(ProcessID)$!Shell最后運行的后臺Process的PID$?最后運行的命令的結束代碼(返回值 ...

隨機推薦

對,這是http處理層

16年2月的一次代碼重構,面對如此骯臟丑陋的代碼我困在了座椅上整整一天的時間. 底層用java寫的api接口,通過http去調用,在之上是用php寫的業務邏輯層,重構的代碼,正是php這一層. pub ...

centos 安裝pptp

1. 安裝依賴 ppp yum -y install ppp 2. 編譯安裝pptpd wget http://jaist.dl.sourceforge.net/project/poptop/pptp ...

&lbrack;轉&rsqb;VGA、QVGA、CIF、QCIF 。。。的含義

轉自:http://www.360doc.com/content/07/0329/15/494_419655.shtml 相信大家時常都聽到手機支持?VGA?鏡頭.QVGA?屏幕顯示.CIF?短片拍攝 ...

【Spark學習】Apache Spark for 第三方Hadoop分發版

Spark版本:1.1.1 本文系從官方文檔翻譯而來,轉載請尊重譯者的工作,注明以下鏈接: http://www.cnblogs.com/zhangningbo/p/4137979.html

Asp&period;net Mvc HTTP 404。

asp.net mvc ?設置完起始頁的時候會出現以下Error 此錯誤的原因是在MVC中設置完起始頁 會改變 ? 的 值 從而使服務器找不到 相對應的路徑 ? 解決方案: 通過 路由設置,解決web ...

codeforces 609F&period; Frogs and mosquitoes 二分&plus;線段樹

題目鏈接 F. Frogs and mosquitoes time limit per test 2 seconds memory limit per test 512 megabytes input ...

SilkTest高級進階系列8 – 放下榔頭,立地成佛

在地球尚未毀滅的某天,手動測試的同事找到你所在的自動組,問是否可以幫助他們自動化一個需要連續添加100個條目的測試用例,因為他們覺得這是一個噩夢.你口頭上說要先煙酒煙酒才能知道,但是內里早就滿心歡喜: ...

js 開發注意事項

涉及api post 請求的, 涉及sqlite 存儲的, conent 用encodeURIComponent, decodeURIComponent ,處理 JSON.parse 最好加上try ...

redis哨兵集群配置

redis 集群架構圖: 需要先配置redis主從,我這邊是單機部署的. 采用一主一從,兩個sentinel. redis host: 172.31.11.235 redis-master port: ...

ZooKeeper和CAP理論及一致性原則

一.CAP理論概述CAP理論告訴我們,一個分布式系統不可能同時滿足以下三種 一致性(C:Consistency)可用性(A:Available)分區容錯性(P:Partition Tolerance) ...

創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎

總結

以上是生活随笔為你收集整理的linux here用法,linux shell的here document用法(cat EOF)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。