shell腳本中/bin/bash的作用引號與括號的使用小結(jié)
shell腳本通常第一句是#!/bin/bash,在很多情況中,如果沒有設(shè)置好這一行,那么該程序很可能無法執(zhí)行,因?yàn)橄到y(tǒng)無法判斷該程序需要使用什么shell來執(zhí)行
通俗點(diǎn)講,#!/bin/bash: 是指此腳本使用/bin/bash來解釋執(zhí)行。其中,#!是一個特殊的表示符,后面緊跟著解釋此腳本的shell路徑。bash只是shell的一種,還有很多其它shell,比如:sh,csh,ksh,tcsh等等。
Linux Shell中有三種引號,分別為雙引號(" ")、單引號(' ')以及反引號(` `)。
其中雙引號對字符串中出現(xiàn)的$、''、`和\進(jìn)行替換;單引號不進(jìn)行替換,將字符串中所有字符作為普通字符輸出,而反引號中字符串作為shell命令執(zhí)行,并返回執(zhí)行結(jié)果。具體含義如下:
雙引號(" "):在雙引號中,除了$, '', `和\以外所有的字符都解釋成字符本身。
單引號(' '):在單引號中所有的字符包括特殊字符($,'',`和\)都將解釋成字符本身而成為普通字符。
反引號(` `):在反引號中的字符串將解釋成shell命令來執(zhí)行。
反引號是老的用法,$()是新的用法,推薦使用$()。使用方式和反引號一致,如下:
DATE1=`date` DATE2=$(date)
通常情況下兩種形式的變量替換是等價的,但是兩者還有一點(diǎn)區(qū)別,反引號``不支持嵌套而$()則支持嵌套,如計(jì)算目錄下第一個文件的行數(shù):
lines=$(wc -l $(ls | sed -n '1p')) echo $lines
輸出結(jié)果為:
89 anaconda-ks.cfg
此外,$() 僅在 Bash Shell 中有效,而反引號可在多種 Shell 中使用。
到此這篇關(guān)于shell腳本中/bin/bash的作用,引號與括號的使用的文章就介紹到這了,更多相關(guān)shell 引號與括號的使用內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
利用linux的timerfd_create實(shí)現(xiàn)計(jì)時器示例分享
這篇文章主要介紹了利用linux的timerfd_create實(shí)現(xiàn)計(jì)時器示例,需要的朋友可以參考下2014-02-02使用ntpdate工具校正linux服務(wù)器時間(實(shí)現(xiàn)方法)
下面小編就為大家?guī)硪黄褂胣tpdate工具校正linux服務(wù)器時間(實(shí)現(xiàn)方法)。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-06-06Linux應(yīng)用調(diào)試之strace命令詳解
strace常用來跟蹤進(jìn)程執(zhí)行時的系統(tǒng)調(diào)用和所接收的信號。下面通過本文給大家分享Linux應(yīng)用調(diào)試之strace命令,需要的朋友參考下吧2017-12-12linux shell實(shí)現(xiàn)求一個多維數(shù)組中的最大和最小值
這篇文章主要介紹了linux shell實(shí)現(xiàn)求一個多維數(shù)組中的最大和最小值,需要的朋友可以參考下2016-08-08