這篇文章給大家分享的是有關(guān)Shell常用的知識(shí)點(diǎn)有哪些的內(nèi)容。小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,一起跟隨小編過來看看吧。
創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供石獅網(wǎng)站建設(shè)、石獅做網(wǎng)站、石獅網(wǎng)站設(shè)計(jì)、石獅網(wǎng)站制作等企業(yè)網(wǎng)站建設(shè)、網(wǎng)頁設(shè)計(jì)與制作、石獅企業(yè)網(wǎng)站模板建站服務(wù),十年石獅做網(wǎng)站經(jīng)驗(yàn),不只是建網(wǎng)站,更提供有價(jià)值的思路和整體網(wǎng)絡(luò)服務(wù)。
readlink 能幫助我們在Linux環(huán)境獲取命令所在的實(shí)際目錄下
#dirname "$(dirname "$(readlink -f "$(which javac || which java)")")"
root@devops:~# ls /usr/local/
bin/ games/ jdk/ lib/ openresty/ share/
etc/ include/ jdk1.8.0_171/ man/ sbin/ src/
root@devops:~# ls /usr/local/
bin etc games include jdk jdk1.8.0_171 lib man openresty sbin share src
root@devops:~# which javac
/usr/local/jdk/bin/javac
root@devops:~# readlink -f $(which javac)
/usr/local/jdk1.8.0_171/bin/javac
set
是BASH內(nèi)置的命令,如果不提供選項(xiàng)給set
,默認(rèn)情況下會(huì)打印所有的變量和函數(shù)的名稱和值。
常用的選項(xiàng):
-u
或者-o nounset
: 執(zhí)行腳本時(shí)遇到的不存在的變量時(shí)報(bào)錯(cuò),默認(rèn)情況下BASH會(huì)自動(dòng)忽略
set -x
或者-o xtrace
: 用來在運(yùn)行結(jié)果之前,先輸出執(zhí)行的那一行命令。一般在調(diào)試腳本時(shí)候很有用
-e
: 根據(jù)返回值判斷命令是否運(yùn)行成功。只要腳本發(fā)生錯(cuò)誤,就終止執(zhí)行。但是對(duì)于管道命令來說就不是很好用了。因?yàn)楣艿烂钍前炎詈笠粋€(gè)命令的返回值當(dāng)做整理命令的返回值
+e
: 關(guān)閉-e
選項(xiàng),為了針對(duì)特殊的場景,比如有些返回值為非零的時(shí)候才執(zhí)行腳本時(shí)候可以使用。
set -o pipefail
: 只要有一個(gè)子命令失敗,整個(gè)管道命令就失敗了。
一般建議將以上四個(gè)刪除放在BASH的頭部使用
#!/bin/bash
set -eux
set -p pipefail${YOUR_COMMAND}
變量 | 含義 |
---|---|
$0 | 當(dāng)前腳本的文件名 |
$n | 傳遞給腳本或函數(shù)的參數(shù)。n 是一個(gè)數(shù)字,表示第幾個(gè)參數(shù)。例如,第一個(gè)參數(shù)是2。 |
$# | 傳遞給腳本或函數(shù)的參數(shù)個(gè)數(shù)。 |
$* | 傳遞給腳本或函數(shù)的所有參數(shù)。 |
$@ | 傳遞給腳本或函數(shù)的所有參數(shù)。被雙引號(hào)(“ “)包含時(shí),與 $* 稍有不同 |
$? | 上個(gè)命令的退出狀態(tài),或函數(shù)的返回值。 |
$$ | 當(dāng)前Shell進(jìn)程ID。對(duì)于 Shell 腳本,就是這些腳本所在的進(jìn)程ID。 |
感謝各位的閱讀!關(guān)于“Shell常用的知識(shí)點(diǎn)有哪些”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,讓大家可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),可以把它分享出去讓更多的人看到吧!
當(dāng)前文章:Shell常用的知識(shí)點(diǎn)有哪些
本文地址:http://chinadenli.net/article6/geohog.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)、做網(wǎng)站、微信公眾號(hào)、搜索引擎優(yōu)化、外貿(mào)網(wǎng)站建設(shè)、小程序開發(fā)
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場,如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)