linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结
各種括號(hào)的用法總結(jié)如下
1.Shell中變量的原形:${var}
大家常見的變量形式都是$var
2.命令替換$(cmd)
命令替換$(cmd)和符號(hào)`cmd`(注意這不是單引號(hào),在美式鍵盤上,`是ESC下面的那個(gè)鍵)有相同之處
3.一串的命令執(zhí)行()和{}
()和{}都是對(duì)一串的命令進(jìn)行執(zhí)行,但有所區(qū)別:
A,()只是對(duì)一串命令重新開一個(gè)子shell進(jìn)行執(zhí)行
B,{}對(duì)一串命令在當(dāng)前shell執(zhí)行
C,()和{}都是把一串的命令放在括號(hào)里面,并且命令之間用;號(hào)隔開
D,()最后一個(gè)命令可以不用分號(hào)
E,{}最后一個(gè)命令要用分號(hào)
F,{}的第一個(gè)命令和左括號(hào)之間必須要有一個(gè)空格
G,()里的各命令不必和括號(hào)有空格
H,()和{}中括號(hào)里面的某個(gè)命令的重定向只影響該命令,但括號(hào)外的重定向則影響到括號(hào)里的所有命令
4,幾種特殊的替換結(jié)構(gòu):${var:-string},${var:+string},${var:=string},${var:?string}
5.POSIX標(biāo)準(zhǔn)的擴(kuò)展計(jì)算:$((exp))
這種計(jì)算是符合C語(yǔ)言的運(yùn)算符,也就是說(shuō)只要符合C的運(yùn)算符都可用在$((exp)),甚至是三目運(yùn)算符和for語(yǔ)句。
注意:這種擴(kuò)展計(jì)算是整數(shù)型的計(jì)算,不支持浮點(diǎn)型.若是邏輯判斷,表達(dá)式exp為真則為1,假則為0。
6.四種模式匹配替換結(jié)構(gòu):${var%pattern},${var%%pattern},${var#pattern},${var##pattern}
這四種結(jié)構(gòu)的意義是:${var%pattern}和${var%%pattern}表示從最右邊(即結(jié)尾)匹配的,${var#pattern} 和${var##pattern}從最左邊(即開頭)匹配的。其中${var%pattern}和${var#pattern}是最短匹配,${var%%pattern}和${var##pattern}是最長(zhǎng)匹配。只有在pattern中使用了通配符才能有最長(zhǎng)最短的匹配,否則沒(méi)有最長(zhǎng)最短匹配之分。
7.[ 和 [[
$ type [ [[ test
[ is a shell builtin
[[ is a shell keyword
test is a shell builtin
各種引號(hào)的用法總結(jié)如下
1、 單引號(hào) ‘
由單引號(hào)括起來(lái)的字符都作為普通字符出現(xiàn)。特殊字符用單引號(hào)括起來(lái)以后,也會(huì)失去原有意義,而只作為普通字符解釋。
2、 雙引號(hào) “
由雙引號(hào)括起來(lái)的字符,除$、\、’、和”這幾個(gè)字符仍是特殊字符并保留其特殊功能外,其余字符仍作為普通字符對(duì)待。對(duì)于$來(lái)說(shuō),就是用其后指定的變量的值來(lái) 代替這個(gè)變量和$;對(duì)于而言,是轉(zhuǎn)義字符,它告訴shell不要對(duì)其后面的那個(gè)字符進(jìn)行特殊處理,只當(dāng)作普通字符即可。可以想見,在雙引號(hào)中需要在前面加 上的只有四個(gè)字符$,,’和”本身。而對(duì)”號(hào),若其前面沒(méi)有加,則Shell會(huì)將它同前一個(gè)”號(hào)匹配。
3、 反引號(hào) `
反引號(hào)(`)這個(gè)字符所對(duì)應(yīng)的鍵一般位于鍵盤的左上角,不要將其同單引號(hào)(’)混淆。反引號(hào)括起來(lái)的字符串被shell解釋為命令行,在執(zhí)行時(shí),shell首先執(zhí)行該命令行,并以它的標(biāo)準(zhǔn)輸出結(jié)果取代整個(gè)反引號(hào)(包括兩個(gè)反引號(hào))部分。
總結(jié)
以上是生活随笔為你收集整理的linux shell中各种分号和括号,linux shell 各种分号,括号使用方法总结的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: scratch跳一跳游戏脚本_cocos
- 下一篇: linux 文件名 序列号,在Linux