新聞中心
Shell替代
什么是替代?
當(dāng)它遇到包含一個(gè)或多個(gè)特殊字符的表達(dá)式時(shí) Shell 執(zhí)行替代。

十多年的剛察網(wǎng)站建設(shè)經(jīng)驗(yàn),針對(duì)設(shè)計(jì)、前端、開(kāi)發(fā)、售后、文案、推廣等六對(duì)一服務(wù),響應(yīng)快,48小時(shí)及時(shí)工作處理。成都全網(wǎng)營(yíng)銷推廣的優(yōu)勢(shì)是能夠根據(jù)用戶設(shè)備顯示端的尺寸不同,自動(dòng)調(diào)整剛察建站的顯示方式,使網(wǎng)站能夠適用不同顯示終端,在瀏覽器中調(diào)整網(wǎng)站的寬度,無(wú)論在任何一種瀏覽器上瀏覽網(wǎng)站,都能展現(xiàn)優(yōu)雅布局與設(shè)計(jì),從而大程度地提升瀏覽體驗(yàn)。創(chuàng)新互聯(lián)從事“剛察網(wǎng)站設(shè)計(jì)”,“剛察網(wǎng)站推廣”以來(lái),每個(gè)客戶項(xiàng)目都認(rèn)真落實(shí)執(zhí)行。
例
以下是一個(gè)例子,在這個(gè)例子中,變量被其真實(shí)值所替代。同時(shí),“\n” 被替換為換行符:
#!/bin/sh
a=10
echo -e "Value of a is $a \n"這會(huì)產(chǎn)生以下結(jié)果。在這里 -e 選項(xiàng)可以解釋反斜杠轉(zhuǎn)義。
Value of a is 10下面是沒(méi)有 -e 選項(xiàng)的結(jié)果:
Value of a is 10\n這里有以下轉(zhuǎn)義序列可用于 echo 命令:
| Escape | Description |
|---|---|
| \\ | 反斜杠 |
| \a | 警報(bào)(BEL) |
| \b | 退格鍵 |
| \c | 抑制換行 |
| \f | 換頁(yè) |
| \n | 換行 |
| \r | 回車 |
| \t | 水平制表符 |
| \v | 垂直制表符 |
默認(rèn)情況下,你可以使用 -E 選項(xiàng)來(lái)禁用反斜線轉(zhuǎn)義解釋。
你你可以使用 -n 選項(xiàng)來(lái)禁用換行的插入。
命令替換:一種機(jī)制,通過(guò)它, Shell 執(zhí)行給定的命令,然后在命令行替代他們的輸出。
語(yǔ)法
當(dāng)給出如下命令時(shí)命令替換就會(huì)被執(zhí)行:
command當(dāng)執(zhí)行命令替換確保你使用反引號(hào),而不是單引號(hào)字符。
例
命令替換一般是用來(lái)分配一個(gè)命令的輸出變量。下面的示例演示命令替換:
#!/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"這會(huì)產(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 為空或者沒(méi)有賦值,word 替代 var。var 的值不改變。 |
| ${var:=word} | 如果 var 為空或者沒(méi)有賦值, var 賦值為 word 的值。 |
| ${var:?message} | 如果 var 為空或者沒(méi)有賦值,message 被編譯為標(biāo)準(zhǔn)錯(cuò)誤。這可以檢測(cè)變量是否被正確賦值。 |
| ${var:+word} | 如果 var 被賦值,word 將替代 var。var 的值不改變。 |
例
以下是例子用來(lái)說(shuō)明上述替代的各種狀態(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}"這會(huì)產(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 當(dāng)前標(biāo)題:創(chuàng)新互聯(lián)UNIX教程:UNIXShell替代
轉(zhuǎn)載注明:http://www.dlmjj.cn/article/cdjpjjh.html


咨詢
建站咨詢
