執行許可權和路徑
依舊摘自阮大佬的bash教程,這裡僅做個人學習記錄。
script.sh word1 word2 word3
上面例子中,script.sh是乙個指令碼檔案,word1、word2和word3是三個引數。
$#
:引數的數量
$1~$9
:對應指令碼的第乙個引數到第九個引數
$@
:全部的引數,引數之間使用空格分隔
$*
:全部的引數,引數之間使用變數$ifs值的第乙個字元分隔,預設為空格,但是可以自定義。
如果指令碼的引數多於9個,那麼第10個引數可以用$
的形式引用,以此類推。
下面是乙個指令碼內部讀取命令列引數的例子:
#!/bin/bash
# script.sh
echo
"全部引數:"
$@echo
"命令列引數數量:" $#
echo
'$0 = '
$0echo
'$1 = '
$1echo
'$2 = '
$2echo
'$3 = '
$3
執行結果如下:
$ ./script.sh a b c
全部引數:a b c
命令列引數數量:3
$0= script.sh
$1= a
$2= b
$3= c
bash 指令碼中,#
表示注釋,可以放在行首,也可以放在行尾。
建議在指令碼開頭,使用注釋說明當前指令碼的作用,這樣有利於日後的維護。
命令執行結束後,會有乙個返回值。
0
表示執行成功,非0
(通常是1
)表示執行失敗。
環境變數$?
可以讀取前乙個命令的返回值。
利用這一點,可以在指令碼中對命令執行結果進行判斷:
cd
$some_directoryif[
"$?"
="0"];
then
rm *
else
echo
"無法切換目錄!" 1>
&2 exit 1
fi
注:fi
為if語句的結束,相當於end
source命令最大的特點是在當前 shell 執行指令碼,不像直接執行指令碼時,會新建乙個子 shell。所以,source命令執行指令碼時,不需要export變數。
source命令
的另乙個用途,是在指令碼內部載入外部庫
#!/bin/bash
source ./lib.sh
function_from_lib
source
有乙個簡寫形式,可以使用乙個點.
來表示:
注意:這兩個點之間是有空格的!
(待續~)
linux的shell(bash)指令碼學習
參考鏈結 shell 是乙個用c語言編寫的程式,它是使用者使用linux的橋梁。shell既是一種命令語言,又是一種程式語言。shell 是指一種應用程式,這個應用程式提供了乙個介面,使用者通過這個介面訪問作業系統核心的服務。shell 指令碼 shell script 是一種為shell編寫的指令...
shell Bash 基本語法概覽
bin bash 呼叫bash作為直譯器 read a 從終端讀入字串並存入a declare i a 宣告a為整型資料 shell變數預設為字串 expr 四則運算 c expr a b 對a和b的值進行四則運算,並把結果賦給c shell特殊字元 root提示符 代表直譯器 後跟注釋 普通使用者...
linux bash指令碼入門
最簡單的例子 hello world 幾乎所有的講解程式設計的書給讀者的第乙個例子都是 hello world 程式,那麼我們今天也就從這個例子出發,來逐步了解 bash。bin bash this is a very example echo hello world 這樣最簡單的乙個 bash 程...