Linux學習筆記(Shell Script)

2021-09-27 06:12:23 字數 2231 閱讀 9418

$ vim showname.sh

#!/bin/bash

# program:

# user inputs his first name and last name. program shows his full name.

# history:

# 2015/07/16 vbird first release

path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export path

read -p "please input your first name: " firstname # 提示使用者輸入

read -p "please input your last name: " lastname # 提示使用者輸入

echo -e "\nyour full name is: $ $" # 結果由螢幕輸出

exit 0

$ sh showname.sh #開始執行指令碼

以『#!/bin/bash 』來宣告這個檔案內的語法使用bash 的語法;

第二行#為注釋,用於描述該檔案的簡介和歷史變更記錄;

需要匯入環境變數;

[exit 0]定義回傳值給系統,也可以用其他非零的值定義錯誤碼。

整數運算舉例:

var=$((運算內容))

total=$(($*$))
小數運算舉例:

使用bc指令

$ echo "123.123*55.9" | bc
bash子程式中執行示例(sh):

$sh showname.sh
bash父程式中執行示例(source):

$source showname.sh
檢測系統上面某些檔案或者是相關的屬性(test):

$ test -e /aabb && echo "exist" || echo "not exist"

not exist

判斷符號([ ]):

舉例來說,如果我想要知道 $ 這個變數是否為空

$ [ -z "$" ] ; echo $?

$ [ 「$」 == "vbird" ]

要注意中括號的兩端需要有空格符來分隔

第二行要注意左邊變數需要用雙引號括起來

帶引數的命令,指令碼內獲取引數值,舉例:

$ vim how_paras.sh

#!/bin/bash

# program:

# program shows the script name, parameters...

# history:

# 2015/07/16 vbird first release

path=/bin:/sbin:/usr/bin:/usr/sbin:/usr/local/bin:/usr/local/sbin:~/bin

export path

echo "the script name is ==> $"

echo "total parameter number is ==> $#"

[ "$#" -lt 2 ] && echo "the number of parameter is less than 2. stop here." && exit 0

echo "your whole parameter is ==> '$@'"

echo "the 1st parameter ==> $"

echo "the 2nd parameter ==> $"

$ sh how_paras.sh theone haha quot

the script name is ==> how_paras.sh <==檔名

total parameter number is ==> 3 <==果然有三個引數

your whole parameter is ==> 'theone haha quot' <==引數的內容全部

the 1st parameter ==> theone <==第乙個引數

the 2nd parameter ==> haha <==第二個引數

學習筆記 Linux學習

echo i am whoami 反引號裡的內容會被當做命令執行 echo the cpu in my pc has cat proc cpuinfo grep c processor cores 等價於反引號 a 10 定義乙個變數,等號兩邊不能有空格 echo a的值為 a a的值為10 ech...

linux學習筆記

開機流程簡介 1 載入 bios 的硬體資訊,並取得第乙個開機裝置的代號 2 讀取第乙個開機裝置的 mbr 的 boot loader 亦即是 lilo,grub,spfdisk 等等 的開機資訊 3 載入 kernel 作業系統核心資訊,kernel 開始解壓縮,並且嘗試驅動所有硬體裝置 4 ke...

Linux 學習筆記

配置 telnet 服務 vi etc hosts.deny 在all all 行前加 號注釋,登出該行。新增一行all all 用 登出disable yes,或者修改為 disble no vi etc pam.d login 在auth required lib security pam se...