在Bash Shell腳本中,可以使用多種方法來對文件進行操作,包括讀取文件或寫入文件。
1. 寫入文件
bash shell可以利用"重定向",將一些打印到終端的消息寫入到文件中,方便在需要時可以對此文件文件查看。
1.1 僅將輸出寫入文件
要將Bash命令的輸出寫入文件,可以使用右尖括號符號(>)或雙右尖符號(>>),兩個運算符都將stdout(標準輸出)重定向到文件,區別在于:
- 右尖括號號(>)用于將bash命令的輸出寫入磁盤文件。如果沒有指定名稱的文件,則它將創建一個具有相同名稱的新文件。如果該文件名稱已經存在,則會覆蓋原文件內容。
- 它用于將bash命令的輸出寫入文件,并將輸出附加到文件中。如果文件不存在,它將使用指定的名稱創建一個新文件。
當第一次寫入文件并且不希望以前的數據內容保留在文件中時,則應該使用右尖括號(>)。也就是說,如果文件中已經存在內容,它會清空原有數據內容,然后寫入新數據。使用雙右尖括號(>>)則是直接將數據附加到文件中,寫入后的內容是原文件中的內容加上新寫入的內容。
例子如下:
# 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
如果除了打印到屏幕,也要實現追加到文件末尾的功能的話,那么可以用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會多將信息打印到終端上,其實>和tee功能類似,>>和tee -a功能類似。
2. 讀取文件
讀取文件的最簡單方式就通過cat或$來進行。格式如下:
# 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
如果想要逐行讀取文件的內容,那么可以采用以下方法:
# The script is:
while read line1;
do
echo $line1;
done < o_file.log
# The result is:
new line1
new line2
while循環將到達文件的每一行,并將該行的內容存儲在$line1變量中。
聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。
舉報投訴
-
存儲器
+關注
關注
39文章
7738瀏覽量
171650 -
Shell
+關注
關注
1文章
375瀏覽量
25372 -
bash終端
+關注
關注
0文章
7瀏覽量
2094
發布評論請先 登錄
相關推薦
熱點推薦
如何在bash shell腳本中使用變量
如果你使用編程語言編寫過程序,那么一定接觸過變量。而在 bash 腳本的編寫時,變量也是一個很重要的概念。今天我們分享一下如何在 bash 腳本中使用變量。
發表于 12-02 16:32
?2666次閱讀
shell腳本編寫之本地腳本的編寫和執行
/scrip_test$ vim myshell.sh在該文件中,添加:#!/bin/bashecho "my first shell !"其中#!/bin/bash
發表于 08-28 09:36
【RT-Thread學習筆記】bash和dash-shell
? 最近在工作中遇到一個很奇葩的問題,就是一個嵌入式的SDK編譯,它里面執行shell命令的時候,使用的dash shell來解析,而通常我們默認用的是bash shell來解析;我按
Raspberry Pi Bash Shell 腳本簡介
拋開潛在的麻煩不談,Bash 可以是一個非常強大的工具,讓您可以自動執行各種任務。在即將發表的文章中,我將展示如何使用 Bash 腳本以及一些硬件技巧來自動化我的 Raspberry Pi 冷卻風扇。
如何在bash shell腳本中接受參數
終端命令通常包含一些參數,在使用的時候可以提供不同的參數來確定命令的執行方式。POSIX規范中包含了用于命令行接口的選項。這也是與最早的UNIX應用程序建立的一個由來已久的約定,所以當你在寫bash腳本的時候,需要知道如何在腳本
shell并行調用腳本
/bash cat input.txt | xargs -P max_processes -n 1 command 上述腳本中,使用cat命令將input.txt文件的內
執行shell腳本的方式包括什么
執行Shell腳本的方式有很多種,以下是一些常見的方法: 直接運行腳本文件 在命令行中,可以直接使用腳本文件的路徑來運行腳本。例如: ./s
BASH shell腳本篇—文件處理介紹
評論