構(gòu)建基礎(chǔ)腳本

1. 用戶自定義變量

var1=10 ?
var2=-50 ?
var3=word ?
var4="more word" ?

??:在變量、等號(hào)和值之間不能出現(xiàn)空格

var5 = "failed" ?

2. 命令替換

有兩種方法可以將命令輸出賦值給變量

  • 反引號(hào) `
  • $() 格式
var1=`date`
var2=$(date)

3. 重定向輸入和輸出

3.1 輸出重定向
  • 覆蓋
ls > test1.log
  • 追加
ls >> test2.log
3.2 輸入重定向
  • 文件輸入重定向
wc < test.log
  • 內(nèi)聯(lián)輸入重定向
    無(wú)需指定文件,在命令行中指定需要輸入重定向的數(shù)據(jù)即可,需要指定終止符
wc << EOF
>test 1
>test 2
>EOF

4. 管道

前一個(gè)命令的輸出結(jié)果傳遞給下一個(gè)命令

5. 執(zhí)行數(shù)學(xué)運(yùn)算

  • expr
expr 1 + 2
var1 = $(expr 1 + 2)
var2 = $(expr 1 \* 2)  ??:使用expr時(shí)特殊符號(hào)需要轉(zhuǎn)譯,如 *

??:expr 1 + 2 和 expo 1+2結(jié)果不同

expr 1 + 2
結(jié)果是3,數(shù)學(xué)運(yùn)算

expr 1+2
結(jié)果是 1+2

expr 1+ 2
語(yǔ)法錯(cuò)誤?
  • $[]
    不用考慮特殊符號(hào),如*
echo $[1+2]
echo $[1 +2]
echo $[1 + 2]
以上三個(gè)命令結(jié)果都是:3

??:expr和$[]都只支持整數(shù)運(yùn)算,不支持浮點(diǎn)數(shù)運(yùn)算。

6. 浮點(diǎn)數(shù)運(yùn)算命令:bc

在腳本中使用bc

variable=$(echo "options; expression" | bc)
var1=$(echo "scale=4; 1/2"|bc)

多個(gè)變量時(shí)可以使用內(nèi)聯(lián)輸入重定向

#!/bin/bash

var1=10.46
var2=43.67
var3=33.2
var4=71

var5=$(bc << EOF
scale=4
a1=($var1 + $var2)
b1=($var3 + $var4)
a1 + b1
EOF
)

echo "var5 is $var5"
echo $a1  ??:這里在外面獲取不到計(jì)算器里定義的變量
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容