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

歡迎訪問(wèn) 生活随笔!

生活随笔

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

编程问答

shell的变量以及常见符号

發(fā)布時(shí)間:2023/12/20 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 shell的变量以及常见符号 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

?

shell的變量以及常見符號(hào)

常見變量

不同于其它語(yǔ)言需要先聲明變量,shell的變量直接使用

eg:? ? ? a=15? ? ?

?調(diào)用變量的話 $a 或者 ${a}

?

$? #判斷上一條命令執(zhí)行的是否成功 0成功 返回其他 錯(cuò)誤?

?

寫一個(gè)腳本做演示

執(zhí)行

?

?

$0 #返回腳本的文件名稱??

$1-$9 #返回對(duì)應(yīng)的參數(shù)值? ?

$* #返回所有的參數(shù)值是什么?

$# #返回參數(shù)的個(gè)數(shù)和?

?

?

?

常見的幾個(gè)符號(hào)

> #會(huì)覆蓋原有的內(nèi)容

^c是結(jié)束符號(hào)

?

>> #不會(huì)覆蓋原有的內(nèi)容

?

; #執(zhí)行多條命令

不加;報(bào)錯(cuò)

? ?

?

| #管道符

?

&& #前面的命令執(zhí)行成功,后面的才可以執(zhí)行

|| #前面的命令執(zhí)行失敗,后面的才可以執(zhí)行??

?

"" #會(huì)輸出變量值

'' #輸出本身

??

?

?

`` #輸出命令結(jié)果 eg:a=`date`;echo $a? ?(反撇號(hào))

?

2>/dev/null #錯(cuò)誤輸出到無(wú)底洞(垃圾桶)
1>/dev/null #正確輸出到無(wú)底洞

?

?

秒變計(jì)算器的運(yùn)算符

?

整數(shù):

加:(加號(hào)兩邊一定要加空格 否則是表達(dá)式)

expr 12 + 6? ? ? ? ? ? ? ? ? ? ?expr $a + $b

echo $[12 + 6]? ? ? ? ? ? ? ? ?echo $[a + b]

echo $((12 + 6))? ? ? ? ? ? ?echo $((a + b))

減:

expr 12 - 6? ? ? ? ? ? ? ? ? ? expr $a - $b

echo $[12 - 6]? ? ? ? ? ? ? ?echo $[a - b]

echo $((12 - 6))? ? ? ? ? ? echo $((a - b))

乘:

expr 12 \* 6? ? ? ? ? ? ? ? ? ?expr $a \* $b

echo $[12 * 6]? ? ? ? ? ? ? ?echo $[a * b]

echo $((12 * 6))? ? ? ? ? ? echo $((a * b))

除:

expr 12 / 6? ? ? ? ? ? ? ? ? ?expr $a / $b

echo $((12 / 6))? ? ? ? ? ?echo $((a / b))

echo $[12 / 6]? ? ? ? ? ? ? echo $[a / b]

求余:

expr 12 % 6? ? ? ? ? ? ? ? ? expr $a % $b

echo $((12 % 6))? ? ? ? ? echo $((a % b))

echo $[12 % 6]? ? ? ? ? ? ? echo $[a % b]

小數(shù):

上述方式對(duì)小數(shù)無(wú)效

內(nèi)置的? ‘’bc計(jì)算器”? 計(jì)算

法一:

法二:

?

?

保留小數(shù):

保留多少位小數(shù)可以通過(guò)scale
但是scale只對(duì)除法,取余數(shù),乘冪 有效,對(duì)加減沒有效(用/1變成除法)。

echo "scale=2;(0.2+0.3)/1" | bc #計(jì)算出0.2+0.3的和并保留倆位小數(shù)(整數(shù)位為0,此時(shí)bc計(jì)算器會(huì)省略掉個(gè)位數(shù)的0)
echo "scale=2;(1.2+1.3)/1" | bc #計(jì)算出1.2+1.3的和并保留倆位小數(shù)

?

?

常見的條件判斷

語(yǔ)法:

[ 判斷表達(dá)式 ]

?

文件(夾)或者路徑:?
? -e 目標(biāo)是否存在(exist)
? -d 是否為路徑(directory)
? -f 是否為文件(file)

? [ -e foer.sh ] || touch foer.sh? ?#判斷當(dāng)前目錄下是否有foer.sh這個(gè)文件,假如沒有就創(chuàng)建出foer.sh文件

?

?

權(quán)限:
?-r 是否有讀取權(quán)限(read)
?-w 是否有寫入權(quán)限(write)
?-x 是否有執(zhí)行權(quán)限(excute)

? [ -x 123.txt ] && echo '有執(zhí)行權(quán)限'? ?

?

?

整數(shù)值(int型(必須 )):
-eq 等于(equal)
-ne 不等于(not equal)
-gt 大于(greater than)
-lt 小于(lesser than)
-ge 大于或者等于(greater or equal)
-le 小于或者等于(lesser or equal)

注意:不能用><=

?

小數(shù)(浮點(diǎn)型):

利用bc計(jì)算器? 特性

[ `echo '1.2 < 1.3' | bc` -eq 1 ] && echo '小于'

?`echo '1.2 < 1.3' | bc? ?返回1? ?

?`echo '1.2 < 1.3' | bc` -eq 1? ? ?等于1 成立??

?&& echo '小于'? ?返回小于

??

字符串:
= 相等
!= 不相等

[ 'kkkkk' != 'kkkk' ] && echo '不等于'??

?

?

?

shell腳本實(shí)例

實(shí)例1:

?

放入crt跑

追加符號(hào)

?

粘貼

執(zhí)行并傳參

運(yùn)行錯(cuò)誤!

?并未打印出? ? 12不等于13

? 因?yàn)闆]有用雙引號(hào)??

? 使用vi? pandun.sh 修改

???

?

?實(shí)例2:?

? vi pandun.sh

?

??

?

轉(zhuǎn)載于:https://www.cnblogs.com/hmm1995/p/10418361.html

總結(jié)

以上是生活随笔為你收集整理的shell的变量以及常见符号的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

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