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

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 运维知识 > linux >内容正文

linux

Linux Shell中各种分号和括号的用法总结

發(fā)布時間:2023/12/2 linux 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 Linux Shell中各种分号和括号的用法总结 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

[日期:2011-02-21] 來源:Linux社區(qū)? 作者:破爛熊 [字體:大 中 小]?

?
各種括號的用法總結如下

1.Shell中變量的原形:${var}

大家常見的變量形式都是$var

2.命令替換$(cmd)

命令替換$(cmd)和符號`cmd`(注意這不是單引號,在美式鍵盤上,`是ESC下面的那個鍵)有相同之處

3.一串的命令執(zhí)行()和{}

()和{}都是對一串的命令進行執(zhí)行,但有所區(qū)別:

A,()只是對一串命令重新開一個子shell進行執(zhí)行

B,{}對一串命令在當前shell執(zhí)行

C,()和{}都是把一串的命令放在括號里面,并且命令之間用;號隔開

D,()最后一個命令可以不用分號

E,{}最后一個命令要用分號

F,{}的第一個命令和左括號之間必須要有一個空格

G,()里的各命令不必和括號有空格

H,()和{}中括號里面的某個命令的重定向只影響該命令,但括號外的重定向則影響到括號里的所有命令

4,幾種特殊的替換結構:${var:-string},${var:+string},${var:=string},${var:?string}

5.POSIX標準的擴展計算:$((exp))

這種計算是符合C語言的運算符,也就是說只要符合C的運算符都可用在$((exp)),甚至是三目運算符和for語句。

注意:這種擴展計算是整數型的計算,不支持浮點型.若是邏輯判斷,表達式exp為真則為1,假則為0。

6.四種模式匹配替換結構:${var%pattern},${var%%pattern},${var#pattern},${var##pattern}

這四種結構的意義是:${var%pattern}和${var%%pattern}表示從最右邊(即結尾)匹配的,${var#pattern} 和${var##pattern}從最左邊(即開頭)匹配的。其中${var%pattern}和${var#pattern}是最短匹配,${var%%pattern}和${var##pattern}是最長匹配。只有在pattern中使用了通配符才能有最長最短的匹配,否則沒有最長最短匹配之分。

7.[ 和 [[

$ type [ [[ test

[ is a shell builtin

[[ is a shell keyword

test is a shell builtin

各種引號的用法總結如下

1、 單引號 ‘

由單引號括起來的字符都作為普通字符出現。特殊字符用單引號括起來以后,也會失去原有意義,而只作為普通字符解釋。

2、 雙引號 “

由雙引號括起來的字符,除$、\、’、和”這幾個字符仍是特殊字符并保留其特殊功能外,其余字符仍作為普通字符對待。對于$來說,就是用其后指定的變量的值來 代替這個變量和$;對于而言,是轉義字符,它告訴shell不要對其后面的那個字符進行特殊處理,只當作普通字符即可。可以想見,在雙引號中需要在前面加 上的只有四個字符$,,’和”本身。而對”號,若其前面沒有加,則Shell會將它同前一個”號匹配。

3、 反引號 `

反引號(`)這個字符所對應的鍵一般位于鍵盤的左上角,不要將其同單引號(’)混淆。反引號括起來的字符串被shell解釋為命令行,在執(zhí)行時,shell首先執(zhí)行該命令行,并以它的標準輸出結果取代整個反引號(包括兩個反引號)部分。

本篇文章來源于 Linux公社網站(www.linuxidc.com)? 原文鏈接:http://www.linuxidc.com/Linux/2011-02/32559.htm

總結

以上是生活随笔為你收集整理的Linux Shell中各种分号和括号的用法总结的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。