日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

shell基础三

發(fā)布時(shí)間:2023/12/4 编程问答 33 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell基础三 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
如果表達(dá)式中包含特殊字符,Shell 將會(huì)進(jìn)行替換。例如,在雙引號(hào)中使用變量就是一種替換,轉(zhuǎn)義字符也是一種替換。

舉個(gè)例子:
  • #!/bin/bash
  • a=10
  • echo -e "Value of a is $a \n"
  • 運(yùn)行結(jié)果: Value of a is 10 這里 -e 表示對(duì)轉(zhuǎn)義字符進(jìn)行替換。如果不使用 -e 選項(xiàng),將會(huì)原樣輸出: Value of a is 10\n
    下面的轉(zhuǎn)義字符都可以用在 echo 中:
    轉(zhuǎn)義字符 含義
    \\反斜杠
    \a警報(bào),響鈴
    \b退格(刪除鍵)
    \f換頁(FF),將當(dāng)前位置移到下頁開頭
    \n換行
    \r回車
    \t水平制表符(tab鍵)?
    \v垂直制表符
    可以使用 echo 命令的 -E 選項(xiàng)禁止轉(zhuǎn)義,默認(rèn)也是不轉(zhuǎn)義的;使用 -n 選項(xiàng)可以禁止插入換行符。

    命令替換

    命令替換是指Shell可以先執(zhí)行命令,將輸出結(jié)果暫時(shí)保存,在適當(dāng)?shù)牡胤捷敵觥?/span>

    命令替換的語法:
  • `command`
  • 注意是反引號(hào),不是單引號(hào),這個(gè)鍵位于 Esc 鍵下方。

    下面的例子中,將命令執(zhí)行結(jié)果保存在變量中:
  • #!/bin/bash
  • DATE=`date`
  • echo "Date is $DATE"
  • USERS=`who | wc -l`
  • echo "Logged in user are $USERS"
  • UP=`date ; uptime`
  • echo "Uptime is $UP"
  • 運(yù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

    變量替換

    變量替換可以根據(jù)變量的狀態(tài)(是否為空、是否定義等)來改變它的值

    可以使用的變量替換形式:
    形式 說明
    ${var}變量本來的值
    ${var:-word}如果變量 var 為空或已被刪除(unset),那么返回?word,但不改變?var 的值。
    ${var:=word}如果變量 var 為空或已被刪除(unset),那么返回 word,并將 var 的值設(shè)置為 word。
    ${var:?message}如果變量 var 為空或已被刪除(unset),那么將消息 message 送到標(biāo)準(zhǔn)錯(cuò)誤輸出,可以用來檢測(cè)變量 var 是否可以被正常賦值。
    若此替換出現(xiàn)在Shell腳本中,那么腳本將停止運(yùn)行。
    ${var:+word}如果變量 var 被定義,那么返回 word,但不改變 var 的值。

    請(qǐng)看下面的例子: #!/bin/bashecho ${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}" 運(yùn)行結(jié)果: 純文本復(fù)制
  • 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
  • 總結(jié)

    以上是生活随笔為你收集整理的shell基础三的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。