在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ Linux/ 替代
通信工具
信號和 Traps
文件管理
vi 編輯器使用向?qū)?/span>
替代
變量
環(huán)境
進(jìn)程管理
實(shí)用工具
引用機(jī)制
Manpage 幫助
文件系統(tǒng)基礎(chǔ)知識
系統(tǒng)日志
循環(huán)
正則表達(dá)式和 SED
目錄
函數(shù)
管道和過濾器
特殊變量
輸入/輸出重定向
系統(tǒng)性能
用戶管理
循環(huán)控制
決策
什么是 UNIX ?
數(shù)組
什么是 Shell 腳本
基本操作符
文件權(quán)限

替代

什么是替代?

當(dāng)它遇到包含一個或多個特殊字符的表達(dá)式時 Shell 執(zhí)行替代。

以下是一個例子,在這個例子中,變量被其真實(shí)值所替代。同時,“\n” 被替換為換行符:

    #!/bin/sh

    a=10
    echo -e "Value of a is $a \n"

這會產(chǎn)生以下結(jié)果。在這里 -e 選項可以解釋反斜杠轉(zhuǎn)義。

    Value of a is 10

下面是沒有 -e 選項的結(jié)果:

    Value of a is 10\n

這里有以下轉(zhuǎn)義序列可用于 echo 命令:

Escape Description
\\ 反斜杠
\a 警報(BEL)
\b 退格鍵
\c 抑制換行
\f 換頁
\n 換行
\r 回車
\t 水平制表符
\v 垂直制表符

默認(rèn)情況下,你可以使用 -E 選項來禁用反斜線轉(zhuǎn)義解釋。

你你可以使用 -n 選項來禁用換行的插入。

命令替換:一種機(jī)制,通過它, Shell 執(zhí)行給定的命令,然后在命令行替代他們的輸出。

語法

當(dāng)給出如下命令時命令替換就會被執(zhí)行:

    command

當(dāng)執(zhí)行命令替換確保你使用反引號,而不是單引號字符。

命令替換一般是用來分配一個命令的輸出變量。下面的示例演示命令替換:

    #!/bin/sh

    DATE=`date`
    echo "Date is $DATE"

    USERS=`who | wc -l`
    echo "Logged in user are $USERS"

    UP=`date ; uptime`
    echo "Uptime is $UP"

這會產(chǎn)生以下結(jié)果:

    Date is Thu Jul  2 03:59:57 MST 2009
    Logged in user are 1
    Uptime is Thu Jul  2 03:59:57 MST 2009
    03:59:57 up 20 days, 14:03,  1 user,  load avg: 0.13, 0.07, 0.15

變量代換

變量代換使 Shell 程序員操縱基于狀態(tài)變量的值。

下面的表中是所有可能的替換:

Form Description
${var} 替代 var 的值
${var:-word} 如果 var 為空或者沒有賦值,word 替代 var。var 的值不改變。
${var:=word} 如果 var 為空或者沒有賦值, var 賦值為 word 的值。
${var:?message} 如果 var 為空或者沒有賦值,message 被編譯為標(biāo)準(zhǔn)錯誤。這可以檢測變量是否被正確賦值。
${var:+word} 如果 var 被賦值,word 將替代 var。var 的值不改變。

以下是例子用來說明上述替代的各種狀態(tài):

    #!/bin/sh

    echo ${var:-"Variable is not set"}
    echo "1 - Value of var is ${var}"

    echo ${var:="Variable is not set"}
    echo "2 - Value of var is ${var}"

    unset var
    echo ${var:+"This is default value"}
    echo "3 - Value of var is $var"

    var="Prefix"
    echo ${var:+"This is default value"}
    echo "4 - Value of var is $var"

    echo ${var:?"Print this message"}
    echo "5 - Value of var is ${var}"

這會產(chǎn)生以下結(jié)果:

    Variable is not set
    1 - Value of var is
    Variable is not set
    2 - Value of var is Variable is not set

    3 - Value of var is
    This is default value
    4 - Value of var is Prefix
    Prefix
    5 - Value of var is Prefix
上一篇:決策下一篇:目錄