shell基礎(chǔ)規(guī)則與習(xí)慣

基礎(chǔ)規(guī)則-執(zhí)行腳本

#方法1 sh
[root@manager /server/scripts]# sh  2.3-1-exec.sh
 tar: 從成員名中刪除開(kāi)頭的“/”

#方法2 .或source  
[root@manager /server/scripts]# . 2.3-1-exec.sh 
tar: 從成員名中刪除開(kāi)頭的“/”

#方法3 輸入重定向方法 
[root@manager /server/scripts]# sh  <2.3-1-exec.sh 
tar: 從成員名中刪除開(kāi)頭的“/” 
[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 絕對(duì)路徑方法 
[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: 從成員名中刪除開(kāi)頭的“/”
執(zhí)行方 法 應(yīng)用場(chǎng)景
sh 執(zhí)行各種命令 必備
./source 在腳本中調(diào)用使用其他文件方法 在腳本中實(shí)現(xiàn)nginx include功能 , . /etc/init.d/fuctions 服務(wù)、命令檢查腳本中
sh < 幾乎不會(huì)用
絕對(duì)路徑 系統(tǒng)腳本 系統(tǒng)使用的腳本 需要+x權(quán)限
#./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                                       [失敗]

書(shū)寫(xiě)shell腳本的習(xí)慣

  • 運(yùn)維對(duì)我們平時(shí)操作的習(xí)慣,有比較高的要求 rm
  • 書(shū)寫(xiě)腳本 加上命令解釋器 #!、bin/bash 腳本默認(rèn)使用的命令解釋器
    • ! 幻數(shù)

[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

  • 加上版權(quán)信息:腳本作者 版本 時(shí)間
  • 英文符號(hào)
  • 書(shū)寫(xiě)成對(duì)的符號(hào) ' ' " " $() () [ ] { }

shell變量

  • 普通變量(局部變量)
  • 環(huán)境變量(全局變量)
  • 特殊變量
  1. *普通變量
  • 變量
    *存放我們經(jīng)常使用的內(nèi)容
    *本質(zhì): 內(nèi)存中的空間
    • 空間的位置 變量名
    • 看見(jiàn)的內(nèi)容 變量值
x  + y =10  已知x=30  問(wèn) y=?    未知數(shù) 
oldboy=666   #創(chuàng)建 
echo $oldboy #使用 引用
  • 變量的命名規(guī)則:
  • 不能數(shù)字開(kāi)頭 最好也不要包含特殊符號(hào)!最好用_下劃線(xiàn)
  • 命名規(guī)律:推薦多個(gè)單詞通過(guò)下劃線(xiàn)連接(表名變量的作用)bingbing_age=16
  • 駝峰寫(xiě)法:多個(gè)單詞從第2個(gè)單詞開(kāi)始 首字母大寫(xiě) LidaoAge=99
    numberOfpeople=61
  • 變量賦值注意事項(xiàng):
[root@manager /server/scripts]# oldbing=666 
[root@manager /server/scripts]# echo $oldbing 666 
[root@manager /server/scripts]# oldbing=愛(ài)生活 愛(ài)冰冰 
-bash: 愛(ài)冰冰: 未找到命令 
[root@manager /server/scripts]# oldbing="愛(ài)生活 愛(ài)冰冰"
 [root@manager /server/scripts]# echo $oldbing
 愛(ài)生活 愛(ài)冰冰
引號(hào) 含義
單引號(hào) 所見(jiàn)即所得 單引號(hào)里面內(nèi)容 原封不動(dòng)輸出
雙引號(hào) 與單引號(hào)類(lèi)似 解析特殊符號(hào) `` $() !
不加引號(hào) 與雙引號(hào)類(lèi)似 支持通配符 * {} *.txt
反引號(hào) 優(yōu)先執(zhí)行命令
[root@manager ~]# echo '$PATH $(hostname) `whoami` {1..5}' 
$PATH $(hostname) `whoami` {1..5}
 [root@manager ~]# echo "$PATH $(hostname) `whoami` {1..5}" /sbin:/usr/sbin:/bin:/usr/bin manager root {1..5} 
 [root@manager ~]# echo $PATH $(hostname) `whoami` {1..5} /sbin:/usr/sbin:/bin:/usr/bin manager root 1 2 3 4 5

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書(shū)系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 官網(wǎng) 中文版本 好的網(wǎng)站 Content-type: text/htmlBASH Section: User ...
    不排版閱讀 4,717評(píng)論 0 5
  • Shell入門(mén) 什么是shell? Shell其實(shí)是一個(gè)命令解釋器,作用是解釋執(zhí)行用戶(hù)輸入的命令以及程序等,用戶(hù)每...
    酷酷的偉閱讀 497評(píng)論 0 1
  • 第 2 章 SHELL 基礎(chǔ)知識(shí)2.1 shell腳本我們?cè)谏厦婧?jiǎn)單介紹了一下什么是shell腳本,現(xiàn)在我們來(lái)進(jìn)一...
    LiWei_9e4b閱讀 1,648評(píng)論 0 0
  • 第一節(jié) Shell概述 1.Shell是什么 Shell是一個(gè)命令行解釋器,它為用戶(hù)提供了一個(gè)向Linux內(nèi)核發(fā)送...
    littlexjing閱讀 2,150評(píng)論 0 1
  • 特別說(shuō)明:以下內(nèi)容來(lái)自簡(jiǎn)書(shū),鏈接為原文出處,一切權(quán)益歸原作者所有,在此感謝原作者的分享,大家可以點(diǎn)擊以下鏈接查看原...
    沈祥佑閱讀 624評(píng)論 0 4

友情鏈接更多精彩內(nèi)容