用shell命令讀取與輸出資料的代碼

來源:互聯網
上載者:User

shell指令碼讀取資料有以下幾種方式:
1.鍵盤輸入,預設
2.從檔案中讀取
3.通過管道命令傳遞

echo的功能:
\c :不換行
\f :進紙
\t :跳格
\n :換行
\表示轉義,例如:"\"/dev/rmt0"\"翻譯為,"/dev/rmt0"

read:從鍵盤或檔案的某一行文本中讀取資訊,並將其賦給一個變數。

複製代碼 代碼如下:[jb51]/>read name
hello i am a regular user
[jb51]/>echo $name
hello i am a regular user
[jb51]/>

cat:作用,1.顯示檔案內容,2.建立檔案,3.顯示控制字元。
1.顯示檔案內容
cat filename | more
cat filename | pg
2.建立檔案
cat > filename
3.顯示控制字元
cat -v filename

管道:可以通過管道,將一個命令的輸出傳遞給另一個命令做為輸入。
形式:命令1 | 命令2
例如:

複製代碼 代碼如下:[jb51]/usr/xxxx/ytcclb>who | awk '{print $1"\t"$2}'
xxxx ttyp0
xxxx ttyp1
xxxx ttyp2
...
xxxx ttyp55
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}' | grep -v "Filesystem"
/dev/root
/dev/boot
[jb51]/usr/xxxx/ytcclb>df -k | awk '{print $1}'| grep -v "Filesystem"|sed s'/\/dev\///g'
root
boot
[jb51]/usr/xxxx/ytcclb>

tee命令
作用:把輸出的一個副本輸送到標準輸出,另一個副本拷貝到相應的檔案中。
tee -a file
-a:追加到檔案末尾。
[jb51]/usr/xxxx/ytcclb>who | tee who.out
將who命令尋找到的資料儲存到who.out檔案中。

檔案重新導向:
command > filename 把標準輸出重新導向到一個新檔案中
command >> filename 把標準輸出重新導向到一個檔案中(追加)
command 1 > fielname 把標準輸出重新導向到一個檔案中
command > filename 2>&1 把標準輸出和標準錯誤一起重新導向到一個檔案中
command 2 > filename 把標準錯誤重新導向到一個檔案中
command 2 >> filename 把標準輸出重新導向到一個檔案中(追加)
command >> filename 2>&1 把標準輸出和標準錯誤一起重新導向到一個檔案中(追加)
command < filename >filename2 把command命令以filename檔案作為標準輸入,
以filename2檔案作為標準輸出
command < filename 把command命令以filename檔案作為標準輸入
command << delimiter 把從標準輸入中讀入,直至遇到delimiter分界符
command <&m 把檔案描述符m作為標準輸入
command >&m 把標準輸出重新導向到檔案描述符m中
command <&- 把關閉標準輸入

重新導向標準輸出
1.將很多命令的輸出追加到一個檔案中

複製代碼 代碼如下:ls -l | grep ^d >>files.out
ls account* >> files.out

[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rw-r--r-- 1 xxxx group 3 Nov 15 16:07 null.txt
[jb51]/usr/xxxx/ytcclb>chmod u +x null.txt
chmod: WARNING: cannot access +x: No such file or directory (error 2)

u與+x之間有空格!

複製代碼 代碼如下:[jb51]/usr/xxxx/ytcclb>chmod u+x null.txt
[jb51]/usr/xxxx/ytcclb>ls -l null.txt
-rwxr--r-- 1 xxxx group 3 Nov 15 16:07 null.txt
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.