Linux學習筆記 Bash Scripts

2021-08-02 15:52:22 字數 2329 閱讀 1125

bash scripts

#bash指令碼基礎#

如何建立新shell指令碼

1. 建立包含bash命令的文字檔案。

檔案的第一行應為: #!/bin/bash

2. 使檔案可執行(使用chmod +x scripts)

3. 將檔案放置在使用者的$path的目錄中

~/bin – 用於使用者的私有程式

/usr/local/bin – 本地開發、系統上的其他人使用的指令碼

/usr/local/sbin - 本地開發、由root使用的指令碼直接執行指令碼和使用source命令執行指令碼是不同的!

指令碼除錯模式:

#!/bin/bash -x

引用和轉義

1.弱引用:將字串放置在雙引號中,保留字串中所有字元的文字值,$、`、\和!字元除外。換言之,變數 擴充套件和命令擴充套件在雙引號內仍起作用。

2.強引用:將字串放置在單引號中,保留字串中所有字元的文字值,同時禁用所有擴充套件。

3.轉義非引用的\是轉義字元。它保留了下乙個字元的文字值。

shell變數

shell變數用於為稍後在指令碼中使用的名稱指定值,並且僅限於shell命令列或從中宣告變數的指令碼

命令替換

命令替換在子shell中執行指定命令並用命令輸出替換指令碼中的命令替換。

算術運算子

算術運算子指的是可以在程式中實現加、減、乘、除等數**算的運算子。

1.shell計算命令:

用$表示數**算

用expr表示數**算

2.迴圈:

3.迴圈與數**算結合:

#使用者建立#

#時間標籤#

#5秒倒計時#

#1分10秒倒計時#

#資料庫備份#

#查詢檔案#

#作業#

編寫script.sh1.

script.sh /mnt/userfile /mnt/passwdfile

2. 當要建立的使用者已經存在不做任何操作

3. 當指令碼後所指定檔案數少於兩個

please give me userfile or passwdfile

4. 當所給檔案的行數不一致

/mnt/userfile's line is different /mnt/passwdfile's line

學習筆記 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...