Shell命令讀取數(shù)據(jù)與輸出數(shù)據(jù)

字號:


    shell腳本讀取數(shù)據(jù)的幾種方式:
    1.鍵盤輸入,默認(rèn)
    2.從文件中讀取
    3.通過管道命令傳遞
    echo的功能:
    c :不換行
    f :進(jìn)紙
    t :跳格
    n :換行
    表示轉(zhuǎn)義,例如:""/dev/rmt0""翻譯為,"/dev/rmt0"
    read:從鍵盤或文件的某一行文本中讀取信息,并將其賦給一個(gè)變量。
    [開發(fā)]/>read name
    hello i am a regular user
    [開發(fā)]/>echo $name
    hello i am a regular user
    [開發(fā)]/>
    cat:作用,1.顯示文件內(nèi)容,2.創(chuàng)建文件,3.顯示控制字符。
    1.顯示文件內(nèi)容
    cat filename | more
    cat filename | pg
    2.創(chuàng)建文件
    cat > filename
    3.顯示控制字符
    cat -v filename
    管道:可以通過管道,將一個(gè)命令的輸出傳遞給另一個(gè)命令做為輸入。
    形式:命令1 | 命令2
    例如:
    [開發(fā)]/usr/xxxx/ytcclb>who | awk '{print $1"t"$2}'
    xxxx ttyp0
    xxxx ttyp1
    xxxx ttyp2
    ...
    xxxx ttyp55
    [開發(fā)]/usr/xxxx/ytcclb>df -k | awk '{print $1}' | grep -v "Filesystem"
    /dev/root
    /dev/boot
    [開發(fā)]/usr/xxxx/ytcclb>df -k | awk '{print $1}'| grep -v "Filesystem"|sed s'//dev///g'
    root
    boot
    [開發(fā)]/usr/xxxx/ytcclb>
    tee命令
    作用:把輸出的一個(gè)副本輸送到標(biāo)準(zhǔn)輸出,另一個(gè)副本拷貝到相應(yīng)的文件中。
    tee -a file
    -a:追加到文件末尾。
    [開發(fā)]/usr/xxxx/ytcclb>who | tee who.out
    將who命令查找到的數(shù)據(jù)保存到who.out文件中。
    文件重定向:
    command > filename 把標(biāo)準(zhǔn)輸出重定向到一個(gè)新文件中
    command >> filename 把標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中(追加)
    command 1 > fielname 把標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中
    command > filename 2>&1 把標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤一起重定向到一個(gè)文件中
    command 2 > filename 把標(biāo)準(zhǔn)錯(cuò)誤重定向到一個(gè)文件中
    command 2 >> filename 把標(biāo)準(zhǔn)輸出重定向到一個(gè)文件中(追加)
    command >> filename 2>&1 把標(biāo)準(zhǔn)輸出和標(biāo)準(zhǔn)錯(cuò)誤一起重定向到一個(gè)文件中(追加)
    command < filename >filename2 把command命令以filename文件作為標(biāo)準(zhǔn)輸入,
    以filename2文件作為標(biāo)準(zhǔn)輸出
    command < filename 把command命令以filename文件作為標(biāo)準(zhǔn)輸入
    command << delimiter 把從標(biāo)準(zhǔn)輸入中讀入,直至遇到delimiter分界符
    command <&m 把文件描述符m作為標(biāo)準(zhǔn)輸入
    command >&m 把標(biāo)準(zhǔn)輸出重定向到文件描述符m中
    command <&- 把關(guān)閉標(biāo)準(zhǔn)輸入
    重定向標(biāo)準(zhǔn)輸出
    1.將很多命令的輸出追加到一個(gè)文件中
    ls -l | grep ^d >>files.out
    ls account* >> files.out
    [開發(fā)]/usr/xxxx/ytcclb>ls -l null.txt
    -rw-r--r-- 1 xxxx group 3 Nov 15 16:07 null.txt
    [開發(fā)]/usr/xxxx/ytcclb>chmod u +x null.txt
    chmod: WARNING: cannot access +x: No such file or directory (error 2)
    u與+x之間有空格!
    [開發(fā)]/usr/xxxx/ytcclb>chmod u+x null.txt
    [開發(fā)]/usr/xxxx/ytcclb>ls -l null.txt
    -rwxr--r-- 1 xxxx group 3 Nov 15 16:07 null.txt