女人自慰AV免费观看内涵网,日韩国产剧情在线观看网址,神马电影网特片网,最新一级电影欧美,在线观看亚洲欧美日韩,黄色视频在线播放免费观看,ABO涨奶期羡澄,第一导航fulione,美女主播操b

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

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

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

shell腳本基礎(chǔ):重定向和管道符

FPGA學(xué)姐 ? 來源:FPGA學(xué)姐 ? 2023-05-04 11:09 ? 次閱讀

重定向符

一、輸出重定向

標準輸出的目標位置通常指向的是終端屏幕。可以使用>符號修改標準輸出的目標位置。比如下面的示例就會將ps命令的輸出重定向到result.txt文件。描述符和>之間不能有空格

$ ps > result.txt  ←----- 由于已經(jīng)重定向到 result.txt 文件,所以屏幕上不會輸出任何內(nèi)容
$ cat result.txt
  PID TTY          TIME CMD
10745 pts/0    0000 bash
10873 pts/0    0000 ps

如果文件已經(jīng)存在,則該文件會被覆蓋,文件內(nèi)容將丟失

如果不想使用>覆蓋原文件,而想向原文件追加寫入,可以使用>>重定向

$ echo line1 >> echo.txt
$ echo line2 >> echo.txt
$ echo line3 >> echo.txt
$ cat echo.txt
line1
line2
line3

重定向并不是命令的功能,而是shell的功能,只要命令能將執(zhí)行結(jié)果輸出到標準輸出,就可以實現(xiàn)重定向。但是只有標準輸出會被重定向,標準錯誤輸出還是會直接顯示到屏幕上,那么如何將錯誤輸出重定向?

可以使用2>符號,數(shù)字2是稱為文件描述符的編號

$ ls /xxx 2> error.txt
$ cat error.txt
ls: 無法訪問'/xxx': 沒有那個文件或目錄

0edc28de-e633-11ed-ab56-dac502259ad0.png

也就是說例子1中相當于是1>

或者2>>指令對錯誤進行重定向

$ ls /xxx 2>> error.txt
$ cd /xxx 2>> error.txt
$ cat error.txt
ls: 無法訪問 '/xxx': 沒有那個文件或目錄
-bash:cd:/xxx:沒有那個文件或目錄

標準輸出和標準錯誤輸出重定向到同一個文件(n>&m的含義是將文件描述符n設(shè)置為文件描述符m的副本)

$ ls /usr /xxx > ls_result.txt 2>&1

輸出到不同文件(將ls命令的標準輸出重定向到result.txt文件,并將標準錯誤輸出重定向到error.txt文件)

$ ls /usr /xxx > result.txt 2> error.txt

使用分組命令重定向(如果想在使用{ }時將多條命令寫到一行,需要在每條命令后面加上;)

#!/bin/bash
{
    date +%Y-%m-%d
    echo '/usr list'
    ls /usr
} > result.txt
#------------------------------------------------------------
$ { date +%Y-%m-%d; echo '/usr list'; ls /usr; } > result.txt

分組命令的{后面要有空格,還可以使用( )代替{ }

二、輸入重定向

$ tr b B
abcd←-----從鍵盤輸ru
aBcd     ←----- b 被替換為 B
my book  ←----- 從鍵盤輸入
my Book  ←----- b 被替換為 B

tr命令對鍵盤輸入的東西進行替換吧

$ cat word.txt
abcd                 ←----- word.txt 文件的內(nèi)容
my book
$trbB

管道

命令的輸出內(nèi)容除了可以重定向輸出到文件,還可以作為其他命令的輸入使用。

使用less命令顯示ls命令的標準輸出內(nèi)容

$ ls | less
...            <-----(本行及以下5行)less 命令輸出示例
Documents      
Movies         
Music          
Public         
(END)

等效于

$ ls > result.txt
$ less < result.txt

注意:管道只會將前一條命令的標準輸出傳遞給之后的命令,而第1條命令的標準錯誤輸出則不會傳遞給后面的命令。

$ ls /usr/bin | grep 'py' | wc -l
6

如果使用管道來連接一個同時顯示標準輸出和標準錯誤輸出的命令,那么屏幕上將只顯示標準錯誤輸出的內(nèi)容。如果想將標準錯誤輸出和標準輸出一起傳遞給后面的命令,那么使用前面介紹的2>&1這種重定向方式即可

$ ls /usr /xxx 2>&1 | less
ls: 無法訪問'/xxx': 沒有那個文件或目錄

審核編輯:湯梓紅

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

    關(guān)注

    1

    文章

    578

    瀏覽量

    25214
  • 命令
    +關(guān)注

    關(guān)注

    5

    文章

    730

    瀏覽量

    22678
  • Shell
    +關(guān)注

    關(guān)注

    1

    文章

    372

    瀏覽量

    23990
  • 腳本
    +關(guān)注

    關(guān)注

    1

    文章

    397

    瀏覽量

    28351
  • Shell腳本
    +關(guān)注

    關(guān)注

    0

    文章

    36

    瀏覽量

    8185

原文標題:shell腳本基礎(chǔ)(四)重定向和管道符

文章出處:【微信號:FPGA學(xué)姐,微信公眾號:FPGA學(xué)姐】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。

收藏 人收藏

    評論

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

    shell腳本進階】幾個常用的shell進階腳本

    shell腳本進階】幾個常用的shell進階腳本
    的頭像 發(fā)表于 09-19 08:59 ?2219次閱讀
    【<b class='flag-5'>shell</b><b class='flag-5'>腳本</b>進階】幾個常用的<b class='flag-5'>shell</b>進階<b class='flag-5'>腳本</b>

    飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之輸入輸出重定向

    shell輸出重定向通常是指將執(zhí)行命令的輸出信息從默認的標準輸出(即當前終端)重新定向到指定文件中。輸入重定向通常是指將命令所需的輸入數(shù)據(jù)的來源,從標準輸入(即當前終端)更改為從指定文
    發(fā)表于 09-23 10:23

    嵌入式 學(xué)習(xí)-飛凌嵌入式ElfBoard ELF 1板卡-shell腳本編寫之輸入輸出重定向

    shell腳本編寫之輸入輸出重定向shell輸出重定向通常是指將執(zhí)行命令的輸出信息從默認的標準輸出(即當前終端)重新
    發(fā)表于 09-24 10:06

    shell核心知識常見符號和流程控制:13.1 重定向 管道符

    Shell
    充八萬
    發(fā)布于 :2023年07月12日 11:18:39

    Linux后臺程序重定向的問題

    目前有一種方法是在程序后臺啟動的時候,直接重定向到某個shell或telnet。方法如下:如tty命令查看目標shell為 /dev/pts/0./yourapp & > /dev
    發(fā)表于 08-22 13:54

    linux shell數(shù)據(jù)重定向(輸入重定向與輸出重定向)詳細分析

    使用實例介紹這些默認的輸出,輸入都是linux系統(tǒng)內(nèi)定的,我們在使用過程中,有時候并不希望執(zhí)行結(jié)果輸出到屏幕。我想輸出到文件或其它設(shè)備。這個時候我們就需要進行輸出重定向了。linux shell下常用
    發(fā)表于 03-02 13:59

    Linux Shell系列教程之(十六) Shell輸入輸出重定向

      一、Shell輸入輸出重定向概述  在了解重定向相關(guān)知識之前,我們先來看看Linux的文件描述符。  Linux的文件描述符可以理解為linux跟蹤打開文件,而分配的一個數(shù)字,這個數(shù)字有點類似c
    發(fā)表于 09-12 15:53

    shell腳本最簡明的教程

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

    管道符重定向與環(huán)境變量

    1.標準輸入重定向(STDIN,文件描述符為0):默認從鍵盤輸入,也可從其他文件或命令中輸入。 3.錯誤輸出重定向(STDERR,文件描述符為2):默認輸出到屏幕。 表2 輸出重定向中用到的符號及其
    發(fā)表于 04-29 08:48 ?731次閱讀

    Keil下使用STlink重定向printf的配置

    Keil下使用STlink重定向printf的配置1. printf 重定向Keil默認下使用Micro LIB庫,該庫調(diào)用 fputs 實現(xiàn) printf,所以需要重新定義fputs函數(shù),以重定向
    發(fā)表于 12-27 18:43 ?18次下載
    Keil下使用STlink<b class='flag-5'>重定向</b>printf的配置

    shell腳本基礎(chǔ)知識

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

    Linux I/O重定向詳解

    Linux I/O重定向可以定義為,更改從命令讀取輸入到命令發(fā)送輸出的方式。你可以重定向命令的輸入和輸出。對于重定向符號,可以是 或者 | 。
    的頭像 發(fā)表于 05-04 14:34 ?1021次閱讀

    Linux Shell腳本經(jīng)典案例分享

    ? 作為一名 Linux 運維工程師,會寫好的腳本不僅能提高工作效率,還能有更多的時間做自己的事。最近在網(wǎng)上沖浪的時候,發(fā)現(xiàn)大家對Shell腳本都有“心結(jié)”,要么覺得自己寫出來不好看,要么根本無從下手。 下面分享249個真實
    發(fā)表于 06-16 14:03 ?790次閱讀
    Linux <b class='flag-5'>Shell</b><b class='flag-5'>腳本</b>經(jīng)典案例分享

    Linux管道符不是你想用就能亂用的!

    管道符號,是unix一個很強大的功能,符號為一條豎線:"|"。
    的頭像 發(fā)表于 06-28 09:12 ?1073次閱讀

    linux知識中常用到的管道符號有哪些

    作為一個高級linux運維人員所要知道的,為什么要少用管道符?并不是說方便就可以大量使用,我們需要考慮到其執(zhí)行的速度及效率,下面一起通過實例看看管道符要少用的原因!
    發(fā)表于 09-29 07:00 ?2494次閱讀