Shell指令碼之基本知識

2021-09-25 18:24:31 字數 1545 閱讀 1778

shell指令碼

命令通過乙個程式檔案執行時,該程式被稱為shell指令碼或shell程式。shell指令碼中有一系列的命令或命令語句,這些命令、變數和流程控制語句等有機結合起來就是乙個功能強大的shell指令碼。

指令碼開頭

#!/bin/bash(推薦)  或#!/bin/sh(#!稱為幻數,確定哪個程式來解釋指令碼中的內容。#必須在頂行,不在則為注釋)。

bash與sh的區別:sh是乙個鏈結檔案,指向bash,所以在linux中,sh與bash是一樣的。

如果指令碼的開頭不指定直譯器,則需要指定對應的直譯器來執行指令碼,如:bash test.sh 或 python test.py

指令碼注釋

跟在#後面的一行內容表示注釋。用來對指令碼進行說明,注釋部分不會被執行,僅僅給人看的作用。可自成一行或跟在命令的後面。

單行注釋:

多行注釋:

指令碼的執行

當shell指令碼以非互動的方式執行時,會先查詢系統環境變數env,該變數指定了乙個環境檔案(通常是.bashrc),然後從該環境變數開始執行,當讀取了env檔案後,shell才開始執行指令碼中的內容。

bash script-namesh script-name(推薦,指令碼沒有x許可權或者沒有指定直譯器下可用)

path/script-name 或 ./ script-name(全路徑或當前路徑下執行,需要執行許可權+x)

source script-name 或 . script-name(想獲取指令碼中的變數內容,以這種方式執行)

基本規範與習慣

1.開頭指定指令碼直譯器,如:#!/bin/bash

2.開頭加上版本版權等資訊,如:# 時間  # 作者  # ****  #指令碼功能  #版本(可配置vim編輯器自動載入以上資訊,方法是修改~/.vimrc配置檔案)

3.指令碼中盡量不要用中文注釋(哪怕用拼音)

4.指令碼以.sh結尾作為拓展名

5.**書寫優秀習慣

①成對的內容一次寫出來

②[  ]兩端要有空格,如:[ 123 ]

③流程控制語句一次書寫完,再新增內容,防止出錯

6.通過縮排,讓**更易讀

shell指令碼的基本知識

指令碼中命令的直譯器 記錄命令執行的過程和執行邏輯,以便以後重複執行 指令碼可以批量處理主機 指令碼可以定時處理主機 bin bash 幻數 1 手動在環境中開啟指定直譯器 sh script.sh 2 直接在當前環境中執行shell中的命令不開啟新的shell sourece script.sh ...

shell基本知識

shell型別 函式 主過程要呼叫才能執行 多行注釋 或 單行注釋 bin bash echo abcdefg.syshello syshello echo start.syshello echo exit.fi 結束標誌 grep ls l grep root awkls l awk ls l a...

shell 基本知識

shell是linux的一外殼,它包在linux核心的外面,為使用者和核心之間的互動提供了乙個介面 當使用者下達指令給作業系統的時候,實際上是把指令告訴shell,經過shell解釋,處理後讓核心做出相應的動作 系統的回應和輸出的資訊也由shell處理,然後顯示在使用者的螢幕上 簡單的說,當命令或者...