shell基礎規則與習慣

2021-10-02 03:54:27 字數 3040 閱讀 2248

基礎規則-執行指令碼

#方法1 sh

[root@manager /server/scripts]

# sh 2.3-1-exec.sh

tar: 從成員名中刪除開頭的「/」

#方法2 .或source

[root@manager /server/scripts]

# . 2.3-1-exec.sh

tar: 從成員名中刪除開頭的「/」

#方法3 輸入重定向方法

[root@manager /server/scripts]

# sh <2.3-1-exec.sh

tar: 從成員名中刪除開頭的「/」

[root@manager /server/scripts]

# ll /tmp/etc.tar.gz

-rw-r--r-- 1 root root 10246600 1月 8 10:51

/tmp/etc.tar.gz

#linux 支援 < 很多 tr xargs 三劍客

#方法4 絕對路徑方法

[root@manager /server/scripts]

# ll /server/scripts/2.3-1-exec.sh

-rwxr-xr-x 1 root root 31 1月 8 10:50

/server/scripts/2.3-1-exec.sh

[root@manager /server/scripts]

# /server/scripts/2.3-1exec.sh

tar: 從成員名中刪除開頭的「/」

執行方 法

應用場景

sh執行各種命令 必備

./source

在指令碼中呼叫使用其他檔案方法 在指令碼中實現nginx include功能 , . /etc/init.d/fuctions 服務、命令檢查指令碼中

sh <

幾乎不會用

絕對路徑

系統指令碼 系統使用的指令碼 需要+x許可權

#./source 了解 

[root@manager /server/scripts]

# .

/etc/init.d/functions

[root@manager /server/scripts]

# action "crond is running" /bin/true crond is running [ 確定 ]

[root@manager /server/scripts]

# action "crond is not running" /bin/false crond is not running [失敗]

書寫shell指令碼的習慣

[root@manager /server/scripts]

# head -1 /bin/yum

#!/usr/bin/python

[root@manager /server/scripts]

# file 2.3-2-checkweb.sh

3-2-check-web.sh: utf-8 unicode text

[root@manager /server/scripts]

# [root@manager /server/scripts]

# file 2.3-2-checkweb.sh

2.3-2-check-web.sh: bourne-again shell script, utf-8 unicode text executable

英文符號

書寫成對的符號 』 』 " " $() () [ ]

shell變數

*普通變數

x  + y =10  已知x=30  問 y=?    未知數 

oldboy=666 #建立

echo

$oldboy

#使用 引用

[root@manager /server/scripts]

# oldbing=666

[root@manager /server/scripts]

# echo $oldbing 666

[root@manager /server/scripts]

# oldbing=愛生活 愛冰冰

-bash: 愛冰冰: 未找到命令

[root@manager /server/scripts]

# oldbing="愛生活 愛冰冰"

[root@manager /server/scripts]

# echo $oldbing

愛生活 愛冰冰

引號

含義單引號

所見即所得 單引號裡面內容 原封不動輸出

雙引號與單引號類似 解析特殊符號 `` $() !

不加引號

與雙引號類似 支援萬用字元 * {} *.txt

反引號優先執行命令

[root@manager ~]

# echo '$path $(hostname) `whoami` '

$path

$(hostname) `

whoami`

[root@manager ~]

# echo "$path $(hostname) `whoami` " /sbin:/usr/sbin:/bin:/usr/bin manager root

[root@manager ~]

# echo $path $(hostname) `whoami` /sbin:/usr/sbin:/bin:/usr/bin manager root 1 2 3 4 5

shell 命名規則

變數命名規則 1 變數名必須以字母或下劃線開始,後面跟字母數字或下劃線 第乙個字元不能是數字 2 給變數賦值時,不要在 兩邊留空格 3 變數名是大小寫敏感的,即區分大小寫。4 可以定義null值變數 如 a a 5 不要用特殊字元如?等命名變數 變數設定 變數名 值 例如 name john 建議這...

Shell基礎書寫與概念

對於shell指令碼的書寫,約定俗成,第一行必須如下所示 務必放在檔案的第一行 bin sh 符號 用來告訴系統執行該指令碼的程式,這裡使用 bin sh。編輯結束並儲存 這裡最好使用 bin bash 而不是 bin sh 如果使用tc shell改為tcsh,其他類似。如果要執行該指令碼,必須先...

shell程式設計基礎 2 與

shell 程式設計重要的應用就是管理系統,對於管理系統中成千上萬的程式而言,查詢某個檔名是否存在,並且獲取該檔名所指代檔案基本資訊是系統管理員的基本任務。shell命令可以很輕鬆的完成這項任務。program this is a example for command test read p ty...