一区二区三区三上|欧美在线视频五区|国产午夜无码在线观看视频|亚洲国产裸体网站|无码成年人影视|亚洲AV亚洲AV|成人开心激情五月|欧美性爱内射视频|超碰人人干人人上|一区二区无码三区亚洲人区久久精品

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認(rèn)識你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

BASH shell腳本篇—文件處理介紹

冬至子 ? 來源:CSDN ? 作者:谷公子 ? 2023-10-23 16:51 ? 次閱讀
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

在Bash Shell腳本中,可以使用多種方法來對文件進(jìn)行操作,包括讀取文件或?qū)懭胛募?/p>

1. 寫入文件

bash shell可以利用"重定向",將一些打印到終端的消息寫入到文件中,方便在需要時可以對此文件文件查看。

1.1 僅將輸出寫入文件

要將Bash命令的輸出寫入文件,可以使用右尖括號符號(>)或雙右尖符號(>>),兩個運(yùn)算符都將stdout(標(biāo)準(zhǔn)輸出)重定向到文件,區(qū)別在于:

  • 右尖括號號(>)用于將bash命令的輸出寫入磁盤文件。如果沒有指定名稱的文件,則它將創(chuàng)建一個具有相同名稱的新文件。如果該文件名稱已經(jīng)存在,則會覆蓋原文件內(nèi)容。
  • 它用于將bash命令的輸出寫入文件,并將輸出附加到文件中。如果文件不存在,它將使用指定的名稱創(chuàng)建一個新文件。

當(dāng)?shù)谝淮螌懭胛募⑶也幌M郧暗臄?shù)據(jù)內(nèi)容保留在文件中時,則應(yīng)該使用右尖括號(>)。也就是說,如果文件中已經(jīng)存在內(nèi)容,它會清空原有數(shù)據(jù)內(nèi)容,然后寫入新數(shù)據(jù)。使用雙右尖括號(>>)則是直接將數(shù)據(jù)附加到文件中,寫入后的內(nèi)容是原文件中的內(nèi)容加上新寫入的內(nèi)容。

例子如下:

# The script is:
o_file=o_file.log
echo "new line1" > $o_file
 
# The result is:
the current directory will contain o_file.log file

1.2 打印輸出并寫入文件

可以通過使用tee命令將接收到的輸入打印到屏幕上,同時將輸出保存到文件中。

# The script is:
o_file=o_file.log
echo "new line1" | tee $o_file
 
# The result is:
1. terminal ouptut: new line1
2. And the current directory will contain o_file.log file

如果除了打印到屏幕,也要實(shí)現(xiàn)追加到文件末尾的功能的話,那么可以用tee -a的方式,例子如下:

# The script is:
o_file=o_file.log
echo "new line1" | tee -a $o_file
echo "new line2" | tee -a $o_file
 
# The result is:
1.
new line1
new line2
2.
And the current directory will contain o_file.log file

對比上述用法,除了tee會多將信息打印到終端上,其實(shí)>和tee功能類似,>>和tee -a功能類似。

2. 讀取文件

讀取文件的最簡單方式就通過cat或$來進(jìn)行。格式如下:

# o_file.log content:
# new line1
# new line2
 
# The format is:
data0=`cat o_file.log`
echo $data0
data1=$(< o_file.log)
echo $data1
 
# The result is:
new line1 new line2
new line1 new line2

如果想要逐行讀取文件的內(nèi)容,那么可以采用以下方法:

# The script is:
while read line1;
do
echo $line1;
done < o_file.log
 
# The result is:
new line1
new line2

while循環(huán)將到達(dá)文件的每一行,并將該行的內(nèi)容存儲在$line1變量中。

聲明:本文內(nèi)容及配圖由入駐作者撰寫或者入駐合作網(wǎng)站授權(quán)轉(zhuǎn)載。文章觀點(diǎn)僅代表作者本人,不代表電子發(fā)燒友網(wǎng)立場。文章及其配圖僅供工程師學(xué)習(xí)之用,如有內(nèi)容侵權(quán)或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 存儲器
    +關(guān)注

    關(guān)注

    38

    文章

    7653

    瀏覽量

    167422
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    372

    瀏覽量

    24221
  • bash終端
    +關(guān)注

    關(guān)注

    0

    文章

    7

    瀏覽量

    2046
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何在bash shell腳本中使用變量

    如果你使用編程語言編寫過程序,那么一定接觸過變量。而在 bash 腳本的編寫時,變量也是一個很重要的概念。今天我們分享一下如何在 bash 腳本中使用變量。
    發(fā)表于 12-02 16:32 ?2403次閱讀
    如何在<b class='flag-5'>bash</b> <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>中使用變量

    shell腳本編寫之本地腳本的編寫和執(zhí)行

    /scrip_test$ vim myshell.sh在該文件中,添加:#!/bin/bashecho "my first shell !"其中#!/bin/bash
    發(fā)表于 08-28 09:36

    高級Bash 腳本編程指南

    高級Bash 腳本編程指南
    發(fā)表于 10-26 08:33 ?7次下載
    高級<b class='flag-5'>Bash</b> <b class='flag-5'>腳本</b>編程指南

    shell腳本最簡明的教程

    Shell腳本,就是利用Shell的命令解釋的功能,對一個純文本的文件進(jìn)行解析,然后執(zhí)行這些功能,也可以說Shell
    的頭像 發(fā)表于 10-16 11:27 ?5208次閱讀
    <b class='flag-5'>shell</b><b class='flag-5'>腳本</b>最簡明的教程

    【RT-Thread學(xué)習(xí)筆記】bash和dash-shell

    ? 最近在工作中遇到一個很奇葩的問題,就是一個嵌入式的SDK編譯,它里面執(zhí)行shell命令的時候,使用的dash shell來解析,而通常我們默認(rèn)用的是bash shell來解析;我按
    的頭像 發(fā)表于 07-30 13:49 ?1501次閱讀
    【RT-Thread學(xué)習(xí)筆記】<b class='flag-5'>bash</b>和dash-<b class='flag-5'>shell</b>

    Raspberry Pi Bash Shell 腳本簡介

      拋開潛在的麻煩不談,Bash 可以是一個非常強(qiáng)大的工具,讓您可以自動執(zhí)行各種任務(wù)。在即將發(fā)表的文章中,我將展示如何使用 Bash 腳本以及一些硬件技巧來自動化我的 Raspberry Pi 冷卻風(fēng)扇。
    的頭像 發(fā)表于 08-15 15:08 ?1511次閱讀
    Raspberry Pi <b class='flag-5'>Bash</b> <b class='flag-5'>Shell</b> <b class='flag-5'>腳本</b>簡介

    如何在bash shell腳本中接受參數(shù)

    終端命令通常包含一些參數(shù),在使用的時候可以提供不同的參數(shù)來確定命令的執(zhí)行方式。POSIX規(guī)范中包含了用于命令行接口的選項(xiàng)。這也是與最早的UNIX應(yīng)用程序建立的一個由來已久的約定,所以當(dāng)你在寫bash腳本的時候,需要知道如何在腳本
    的頭像 發(fā)表于 12-09 17:34 ?3008次閱讀

    bash腳本中的循環(huán)功能

    循環(huán)是 bash 腳本中一個很重要的功能,用途廣泛。本篇文章我們介紹三種不同的循環(huán),然后利用循環(huán)遍歷數(shù)組。
    的頭像 發(fā)表于 12-14 17:30 ?3903次閱讀

    shell腳本基礎(chǔ)知識

    shell腳本是一個文件,里面存放的是特定格式的指令,系統(tǒng)可以使用腳本解析器翻譯或解析指令并執(zhí)行(無需編譯),shell
    的頭像 發(fā)表于 04-17 15:00 ?1375次閱讀

    BASH shell腳本篇—條件命令

    這篇文章介紹BASH shell中的條件相關(guān)的命令,包括:if, case, while, until, for, break, continue。
    的頭像 發(fā)表于 10-11 15:21 ?995次閱讀
    <b class='flag-5'>BASH</b> <b class='flag-5'>shell</b><b class='flag-5'>腳本篇</b>—條件命令

    BASH shell腳本篇—字符串處理

    Bash字符串也是一種數(shù)據(jù)類型,它用于表示文本而不是數(shù)字,它是一組可能還包含數(shù)字的字符的組合。
    的頭像 發(fā)表于 10-16 11:25 ?1321次閱讀

    BASH shell腳本篇—函數(shù)

    函數(shù)是代碼重用的最重要方式。Bash函數(shù)可以定義為一組命令,在bash腳本中多次調(diào)用。
    的頭像 發(fā)表于 10-20 16:31 ?1479次閱讀

    shell并行調(diào)用腳本

    /bash cat input.txt | xargs -P max_processes -n 1 command 上述腳本中,使用cat命令將input.txt文件的內(nèi)
    的頭像 發(fā)表于 11-08 10:23 ?1284次閱讀

    Shell腳本檢查工具ShellCheck介紹

    ShellCheck是一個用于bash/sh shell腳本的靜態(tài)分析工具,可以輔助檢查腳本語法錯誤,給出建議增強(qiáng)腳本健壯性。
    的頭像 發(fā)表于 12-27 13:43 ?2766次閱讀
    <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>檢查工具ShellCheck<b class='flag-5'>介紹</b>

    執(zhí)行shell腳本的方式包括什么

    執(zhí)行Shell腳本的方式有很多種,以下是一些常見的方法: 直接運(yùn)行腳本文件 在命令行中,可以直接使用腳本文件的路徑來運(yùn)行腳本。例如: ./s
    的頭像 發(fā)表于 08-30 15:17 ?773次閱讀