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)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用linux的timerfd_create實(shí)現(xiàn)計(jì)時(shí)器示例分享
這篇文章主要介紹了利用linux的timerfd_create實(shí)現(xiàn)計(jì)時(shí)器示例,需要的朋友可以參考下2014-02-02使用ntpdate工具校正linux服務(wù)器時(shí)間(實(shí)現(xiàn)方法)
下面小編就為大家?guī)硪黄褂胣tpdate工具校正linux服務(wù)器時(shí)間(實(shí)現(xiàn)方法)。小編覺得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過來看看吧2017-06-06Linux應(yīng)用調(diào)試之strace命令詳解
strace常用來跟蹤進(jìn)程執(zhí)行時(shí)的系統(tǒng)調(diào)用和所接收的信號(hào)。下面通過本文給大家分享Linux應(yīng)用調(diào)試之strace命令,需要的朋友參考下吧2017-12-12linux shell實(shí)現(xiàn)求一個(gè)多維數(shù)組中的最大和最小值
這篇文章主要介紹了linux shell實(shí)現(xiàn)求一個(gè)多維數(shù)組中的最大和最小值,需要的朋友可以參考下2016-08-08