基礎規則-執行指令碼
#方法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...