shell腳本中/bin/bash的作用引號(hào)與括號(hào)的使用小結(jié)
shell腳本通常第一句是#!/bin/bash,在很多情況中,如果沒有設(shè)置好這一行,那么該程序很可能無法執(zhí)行,因?yàn)橄到y(tǒng)無法判斷該程序需要使用什么shell來執(zhí)行
通俗點(diǎn)講,#!/bin/bash: 是指此腳本使用/bin/bash來解釋執(zhí)行。其中,#!是一個(gè)特殊的表示符,后面緊跟著解釋此腳本的shell路徑。bash只是shell的一種,還有很多其它shell,比如:sh,csh,ksh,tcsh等等。
Linux Shell中有三種引號(hào),分別為雙引號(hào)(" ")、單引號(hào)(' ')以及反引號(hào)(` `)。
其中雙引號(hào)對(duì)字符串中出現(xiàn)的$、''、`和\進(jìn)行替換;單引號(hào)不進(jìn)行替換,將字符串中所有字符作為普通字符輸出,而反引號(hào)中字符串作為shell命令執(zhí)行,并返回執(zhí)行結(jié)果。具體含義如下:
雙引號(hào)(" "):在雙引號(hào)中,除了$, '', `和\以外所有的字符都解釋成字符本身。
單引號(hào)(' '):在單引號(hào)中所有的字符包括特殊字符($,'',`和\)都將解釋成字符本身而成為普通字符。
反引號(hào)(` `):在反引號(hào)中的字符串將解釋成shell命令來執(zhí)行。
反引號(hào)是老的用法,$()是新的用法,推薦使用$()。使用方式和反引號(hào)一致,如下:
DATE1=`date` DATE2=$(date)
通常情況下兩種形式的變量替換是等價(jià)的,但是兩者還有一點(diǎn)區(qū)別,反引號(hào)``不支持嵌套而$()則支持嵌套,如計(jì)算目錄下第一個(gè)文件的行數(shù):
lines=$(wc -l $(ls | sed -n '1p')) echo $lines
輸出結(jié)果為:
89 anaconda-ks.cfg
此外,$() 僅在 Bash Shell 中有效,而反引號(hào)可在多種 Shell 中使用。
到此這篇關(guān)于shell腳本中/bin/bash的作用,引號(hào)與括號(hào)的使用的文章就介紹到這了,更多相關(guān)shell 引號(hào)與括號(hào)的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
深入探究Linux shell的實(shí)現(xiàn)原理
這篇文章主要介紹了Linux shell的實(shí)現(xiàn)原理,文中通過代碼示例和圖文介紹的非常詳細(xì),對(duì)大家探究Linux shell的實(shí)現(xiàn)原理有一定的幫助,需要的朋友可以參考下2024-02-02
linux?命令中的大于號(hào)、小于號(hào)的作用及代表的意思
在linux中,大家也許會(huì)經(jīng)??吹?<???、<<?、<<<?、>、>>?這幾個(gè)小于號(hào)、大于號(hào),那么他們分別代表什么意思呢?下面小編通過本文給大家介紹下linux?命令中的大于號(hào)、小于號(hào)的作用,感興趣的朋友一起看看吧2023-01-01
linux環(huán)境下編寫shell腳本實(shí)現(xiàn)啟動(dòng)停止tomcat服務(wù)的方法
這篇文章主要介紹了linux環(huán)境下編寫shell腳本實(shí)現(xiàn)啟動(dòng)停止tomcat服務(wù)的方法,非常不錯(cuò),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2018-06-06
shell判斷文件,目錄是否存在或者具有權(quán)限的代碼
因shell還不是很熟練,所以做此筆記,方便查看,學(xué)習(xí)shell的朋友可以參考下2013-06-06
Shell腳本中讓進(jìn)程休眠的方法(sleep用法)
這篇文章主要介紹了Shell腳本中讓進(jìn)程休眠的方法,本文講解的就是sleep的用法,可以實(shí)現(xiàn)睡覺若干秒、若干分鐘、若干小時(shí),需要的朋友可以參考下2014-11-11
Shell腳本查看進(jìn)程內(nèi)存真實(shí)占用情況
這篇文章主要介紹了Shell腳本查看進(jìn)程內(nèi)存真實(shí)占用情況,本文直接給出實(shí)現(xiàn)代碼,需要的朋友可以參考下2014-12-12

