Shell常用的知識點有哪些

這篇文章給大家分享的是有關Shell常用的知識點有哪些的內容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

創(chuàng)新互聯(lián)專業(yè)為企業(yè)提供石獅網(wǎng)站建設、石獅做網(wǎng)站、石獅網(wǎng)站設計、石獅網(wǎng)站制作等企業(yè)網(wǎng)站建設、網(wǎng)頁設計與制作、石獅企業(yè)網(wǎng)站模板建站服務,十年石獅做網(wǎng)站經驗,不只是建網(wǎng)站,更提供有價值的思路和整體網(wǎng)絡服務。

Shell常用的知識點

獲取被軟連接的真實值—readlink

  • readlink 能幫助我們在Linux環(huán)境獲取命令所在的實際目錄下

#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

定制化腳本的運行SHELL環(huán)境—set

set是BASH內置的命令,如果不提供選項給set,默認情況下會打印所有的變量和函數(shù)的名稱和值。

常用的選項:

  • -u或者-o nounset : 執(zhí)行腳本時遇到的不存在的變量時報錯,默認情況下BASH會自動忽略

  • set -x或者-o xtrace : 用來在運行結果之前,先輸出執(zhí)行的那一行命令。一般在調試腳本時候很有用

  • -e : 根據(jù)返回值判斷命令是否運行成功。只要腳本發(fā)生錯誤,就終止執(zhí)行。但是對于管道命令來說就不是很好用了。因為管道命令是把最后一個命令的返回值當做整理命令的返回值

  • +e : 關閉-e選項,為了針對特殊的場景,比如有些返回值為非零的時候才執(zhí)行腳本時候可以使用。

  • set -o pipefail: 只要有一個子命令失敗,整個管道命令就失敗了。

一般建議將以上四個刪除放在BASH的頭部使用

#!/bin/bash

set -eux
set -p pipefail${YOUR_COMMAND}

Shell中的變量

變量含義
$0當前腳本的文件名
$n傳遞給腳本或函數(shù)的參數(shù)。n 是一個數(shù)字,表示第幾個參數(shù)。例如,第一個參數(shù)是數(shù)2。
$#傳遞給腳本或函數(shù)的參數(shù)個數(shù)。
$*傳遞給腳本或函數(shù)的所有參數(shù)。
$@傳遞給腳本或函數(shù)的所有參數(shù)。被雙引號(“ “)包含時,與 $* 稍有不同
$?上個命令的退出狀態(tài),或函數(shù)的返回值。
$$當前Shell進程ID。對于 Shell 腳本,就是這些腳本所在的進程ID。

感謝各位的閱讀!關于“Shell常用的知識點有哪些”這篇文章就分享到這里了,希望以上內容可以對大家有一定的幫助,讓大家可以學到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

當前文章:Shell常用的知識點有哪些
本文地址:http://muchs.cn/article6/geohog.html

成都網(wǎng)站建設公司_創(chuàng)新互聯(lián),為您提供軟件開發(fā)做網(wǎng)站、微信公眾號、搜索引擎優(yōu)化、外貿網(wǎng)站建設、小程序開發(fā)

廣告

聲明:本網(wǎng)站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯(lián)

微信小程序開發(fā)