国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

Linux系統管理員的Bash指南,11條Bash實踐經驗!

系統 Linux 服務器
在許多系統上,控制臺的默認寬度仍為80個字符。如果你需要在控制臺上調試腳本并且該腳本有很長的行,那么將是一個悲劇。此外,具有較短行的腳本,默認值仍為80個字符,在普通編輯器中也更容易閱讀和理解!

 每個職業都有最常用的工具。對于許多系統管理員來說,shell可能是比較熟悉的。在大多數Linux和其他類Unix系統上,默認的shell是Bash。

Bash是一個相當古老的程序,它起源于20世紀80年代后期。但它建立在更多,更老的shell上,比如C shell(csh)。我們來看看一些基礎知識。

相信你在某些時候,曾無意中以root身份運行命令并導致某種問題?這里有一些非常簡單的技巧可以防止你遇到這樣的問題。

[[238786]]

使用別名

首先,為mv和rm等命令設置別名,指向mv -I和rm -I。這將確保運行rm -f/boot至少要求你確認。在紅帽企業版Linux中,如果你使用root帳戶,則默認設置這些別名。

如果你還要為普通用戶帳戶設置這些別名,只需將這兩行放入主目錄中名為.bashrc的文件中(這些也適用于sudo):

  1. alias mv=’mv -i’ 
  2. alias rm=’rm -i’ 

你的根提示符

你可以采取的另一項措施是防止意外發生,確保你在使用root帳戶時知道。我通常這樣做是為了讓我的正常日常工作中使用的提示能夠很好地突出根提示符。

如果將以下內容放入root的主目錄中的.bashrc文件中,你將看到一個黑色的紅色根提示符,清楚地表明你(或其他任何人)應該謹慎操作。

  1. export PS1=”\[$(tput bold)$(tput setab 0)$(tput setaf 1)\]\u@\h:\w # \[$(tput sgr0)\]” 

實際上,你應該盡可能避免以root用戶身份登錄,而是通過sudo運行大多數系統管理命令,但這是另一回事。

實施了一些小技巧來幫助防止使用root帳戶的“無意的副作用”,讓我們看看Bash可以給你你在日常工作中帶來怎樣的幫助?

控制history文件

你可能知道,當在Bash中按向上箭頭鍵時,你可以查看并重復使用以前的所有命令。這是因為這些命令已保存到主目錄中名為.bash_history的文件中。該歷史文件附帶了一組非常有用的設置和命令。

首先,你可以通過鍵入歷史記錄來查看整個最近的命令歷史記錄,或者你可以通過鍵入歷史記錄,或將其限制為最近30個命令。你可以更好地控制Bash保存的內容以及保存方式。

例如,如果將以下內容添加到.bashrc,則任何以空格開頭的命令都不會保存到歷史記錄列表中:

  1. HISTCONTROL=ignorespace 

如果你需要用命令寫入明文形式的密碼。(是的,這太可怕了,但它仍然會發生。)

如果你不希望在歷史記錄中顯示經常執行的命令,請使用:

  1. HISTCONTROL=ignorespace:erasedups 

這樣,每次使用命令時,都會從歷史記錄文件中刪除之前發生的所有事件,并且只將最后一次調用保存到歷史記錄列表中。

我特別喜歡的歷史記錄設置是HISTTIMEFORMAT設置。這將在歷史記錄文件中添加時間戳前的所有條目。例如,我使用:

  1. HISTTIMEFORMAT=”%F %T “ 

當我輸入五條歷史記錄時,我得到了很好的完整信息,如下所示:

  1. 1009 2018-06-11 22:34:38 cat /etc/hosts 
  2.  
  3. 1010 2018-06-11 22:34:40 echo $foo 
  4.  
  5. 1011 2018-06-11 22:34:42 echo $bar 
  6.  
  7. 1012 2018-06-11 22:34:44 ssh myhost 
  8.  
  9. 1013 2018-06-11 22:34:55 vim .bashrc 

這使我更容易瀏覽我的命令歷史記錄,并找到我兩天前用來建立到家中的SSH隧道。

最好的Bash實踐

在編寫Bash腳本時,我將用最好的11個用法列出來(我是這樣認為的)。

11.Bash腳本可能變得復雜,添加注釋沒那么復雜。因為如果你在周末之后回到工作中,不得不花時間搞清楚你上周五想要做什么的話,別忘了添加注釋。

10.用花括號括起所有變量名,比如$ {myvariable}。養成這個習慣可以使$ {variable} _suffix成為可能,并提高整個腳本的一致性。

9.評估表達式時不要使用反引號;請改用$()語法。可以使用:

  1. for file in $(ls); do 

反之:

  1. for file in `ls`; do 

前一個選項是可嵌套的,更易于閱讀,并使一般的系統管理員感到滿意。不要使用反引號。

8.一致性很好。選擇一種風格并在整個腳本中堅持下去。顯然,我更喜歡人們在反引號中選擇$()語法,并將其變量放在在花括號中。

7.使用適當的shebang作為Bash腳本。因為我正在編寫Bash腳本,只打算用Bash執行它們,所以我經常使用#!/ usr / bin / bash作為我的shebang。不要使用#!/ bin / sh或#!/ usr / bin / sh。你的腳本將執行,但它將以兼容模式運行。可能會產生許多意外的副作用。(當然,除非你想要兼容模式。)

6.比較字符串時,在if語句中引用變量是個好主意,因為如果你的變量是空的,Bash會為這樣的行拋出一個錯誤:

  1. if [ ${myvar} == “foo” ]; then 
  2.  
  3. echo “bar” 
  4.  
  5. fi 

對于這樣的行,將評估為false:

  1. if [ “${myvar}” == “foo” ]; then 
  2.  
  3. echo “bar” 
  4.  
  5. fi 

此外,如果你不確定變量的內容(例如,在解析用戶輸入時),請引用變量以防止解釋某些特殊字符,并確保該變量被視為單個詞,即使它包含空格。

5.我想這是一個品味問題,但我更喜歡使用雙等號(==),即使比較Bash中的字符串。這是一致性的問題,盡管,對于字符串比較,只有一個等號會起作用,我的考慮立即變為“單個等于是一個賦值運算符!”

4.使用適當的退出代碼。確保如果你的腳本無法執行某些操作,則會向用戶顯示已寫入的失敗消息(最好通過解決問題的方法)并發送非零退出代碼:

  1. # we have failed 
  2.  
  3. echo “Process has failed to complete, you need to manually restart the whatchamacallit” 
  4.  
  5. exit 1 

這樣可以更容易地以編程方式從另一個腳本調用腳本并驗證其成功完成。

3.使用Bash的內置機制為變量提供合理的默認值,或者如果未定義你希望定義的變量,則拋出錯誤:

  1. # this sets the value of $myvar to redhat, and prints ‘redhat’ 
  2.  
  3. echo ${myvar:=redhat} 
  4.  
  5. # this throws an error reading ‘The variable myvar is undefined, dear reader’ if $myvar is undefined 
  6.  
  7. ${myvar:?The variable myvar is undefined, dear reader} 

2.特別是如果你正在編寫大型腳本,特別是如果你與其他腳本一起處理該大型腳本,請考慮在函數內部定義變量時使用local關鍵字。local關鍵字將創建一個局部變量,該變量只在該函數中可見。這限制了沖突變量的可能性。

1.每個系統管理員有時必須這樣做:在控制臺上調試一些東西,可以是數據中心的真實服務器,也可以是虛擬化平臺的虛擬服務器。如果你必須以這種方式調試腳本,你會感謝你自己記住這個:不要讓你的腳本中的行太長!

在許多系統上,控制臺的默認寬度仍為80個字符。如果你需要在控制臺上調試腳本并且該腳本有很長的行,那么將是一個悲劇。此外,具有較短行的腳本,默認值仍為80個字符,在普通編輯器中也更容易閱讀和理解!

責任編輯:武曉燕 來源: 代碼灣
相關推薦

2018-08-15 14:00:18

LinuxBash系統管理員

2012-05-21 10:13:12

Linux系統管理

2018-08-01 08:12:34

Linux管理員網絡管理

2019-08-13 19:34:45

容器鏡像DockerLinux

2010-05-07 16:35:44

2012-11-01 11:33:11

IBMdw

2009-05-20 14:51:55

ibmdw系統管理

2013-03-30 21:59:13

系統管理員必備工具iftop

2013-12-09 16:15:08

系統管理員WebminLinux服務

2010-12-27 17:40:31

2011-11-30 09:03:27

2013-09-29 09:50:21

系統管理員Ubuntu JujuJuju

2013-06-26 09:29:30

系統管理員

2010-04-12 09:33:58

系統管理員

2013-12-26 10:47:58

2010-06-10 14:23:01

2014-08-14 09:47:43

Linux管理員

2015-08-17 15:13:05

Linux系統管理員云計算

2013-10-18 09:31:03

Linux 系統Linux 發行版

2017-08-03 08:49:46

LinuxMySQL開源
點贊
收藏

51CTO技術棧公眾號

婷婷在线视频| 精品中文字幕在线2019| 天堂a√在线| 亚洲国产第一页| 婷婷丁香综合| 欧洲精品在线播放| 欧美区在线观看| 国产欧美日韩免费观看| av之家在线观看| 欧美大片一区二区| 天天揉久久久久亚洲精品| 欧美日韩在线免费播放| 亚洲精品国产精品久久清纯直播 | 欧美男女交配视频| 欧美激情一区三区| 色女人在线视频| 成人av.网址在线网站| 国产亚洲一区二区三区四区| 极品美鲍一区| 国产伦精品一区二区三区| 亚洲精品乱码久久久久久| www.久久久.com| 日本天堂免费a| 日韩二区三区在线| 日产欧产美韩系列久久99| 96av在线| 日本一区二区三区在线播放| 国产精品护士白丝一区av| 国产最新精品精品你懂的| 久久精品国产91精品亚洲| 北条麻妃一区二区三区在线| 懂色中文一区二区三区在线视频| 久久精品欧美日韩精品| 手机av免费在线| 国产三区精品| 欧美性一二三区| 亚洲激情网址| 网友自拍视频在线| 欧洲在线视频一区| 精品日韩99亚洲| 蜜臂av日日欢夜夜爽一区| 欧美xxxx做受欧美88bbw| 日韩欧美视频第二区| 亚洲成人1234| 国产精品一区二区久久不卡| 97cao在线| sis001欧美| 污污的网站在线免费观看| 久久99久久99精品免视看婷婷 | 丰满白嫩尤物一区二区| 成人影院网站| 欧美成人一区二区在线观看| 欧美成人精品xxx| 99久久精品国产一区二区三区| 国产成人精品一区二区三区视频| 国产免费一区二区视频| 欧美麻豆久久久久久中文| 亚洲男人电影天堂| 日本一区二区乱| 欧美日韩中国免费专区在线看| 在线观看免费亚洲| 日本亚洲视频在线| 精品视频一区二区三区| 欧美一区二区视频在线观看2020| 欧美高清无遮挡| 欧美色图五月天| 91国产在线免费观看| 伊人婷婷欧美激情| 日韩最新在线| 天堂中文字幕一二区| 亚洲精品视频在线观看视频| 播五月开心婷婷综合| 欧美成人专区| 国产乱视频在线观看| 久久久精品动漫| 亚洲精品国产美女| 欧美国产精品一区二区三区| 久久国产亚洲| 日本在线观看大片免费视频| 日韩黄色短视频| 2023亚洲男人天堂| 一区二区国产盗摄色噜噜| 探花国产精品| 无码人妻h动漫| 精品久久久久久一区| 一色桃子一区二区| 在线精品视频免费播放| 成人免费视频一区| 九色porny丨国产精品| 久久不见久久见国语| 亚洲欧美专区| av在线免费观看网| 九色在线视频观看| 成人精品一二区| 国产日韩欧美日韩大片| 欧美孕妇与黑人孕交| 欧美日韩一区二区三区在线 | 精品国产网站地址| 91精品久久久久久久99蜜桃 | 亚洲人成电影网站色…| 欧美性大战久久久久久久| 色婷婷综合视频在线观看| 亚洲电影中文字幕在线观看| 亚洲欧洲日韩一区二区三区| xnxx国产精品| 久久久久久久欧美精品| 国产精品xxxav免费视频| 国产黄色精品| 激情影院在线| 在线看的网站你懂| 中文字幕乱码免费| 丁香婷婷久久久综合精品国产 | 色视频在线免费观看| 黄色录像1级片| 成年美女网站| 欧美三级在线观看视频| 国产精品入口日韩视频大尺度| 欧美专区在线观看| 亚州欧美日韩中文视频| 正在播放日韩精品| 国产精品视频观看| 激情视频在线观看免费| 91免费版黄色| 啊v视频在线一区二区三区 | 在线成人动漫av| 国偷自产av一区二区三区| 日韩三区在线| 日本肉肉一区| 久久精品一级| 青青久久av| 性人久久久久| 久久福利综合| 欧美精品91| 亚洲欧美高清| 都市激情亚洲欧美| 日本在线啊啊| 性xxxfreexxxx性欧美| 日韩电影免费在线| 国产一区在线精品| 美女精品视频一区| 欧美精品tushy高清| 国产精品久久久久久妇女6080| 激情综合五月婷婷| 日韩av午夜在线观看| 丝袜亚洲另类丝袜在线| 久久91精品久久久久久秒播| 国产激情精品久久久第一区二区 | 亚洲卡一卡二| 夜色福利资源站www国产在线视频| 亚洲一区二区三区色| 黄色录像特级片| 欧美日韩在线成人| 在线看黄网站| 51漫画成人app入口| 极品美鲍一区| 伊人av成人| 男人的天堂免费在线视频| 最新国产拍偷乱拍精品 | 亚洲一区视频| 香蕉视频色版| 日韩av在线免费看| 久久91精品国产91久久小草| 中文在线一二区| 91精品国产99久久久久久| 岛国一区二区在线观看| 天堂影院在线| 欧美欧美午夜aⅴ在线观看| 深爱激情综合| 国产1区2区在线| 7799精品视频| 性久久久久久| √8天堂资源地址中文在线| 亚洲自拍小视频免费观看| 欧美国产日产图区| 亚洲欧美99| xxx欧美精品| 91在线免费播放| 日韩高清在线免费观看| 婷婷激情四射五月天| 亚洲欧美三级伦理| 国产精品视频一二三| 136国产福利精品导航| 91亚洲精品一区二区乱码| 精精国产xxxx视频在线野外| 日本激情视频在线播放| 4k岛国日韩精品**专区| 粉嫩13p一区二区三区| 国产亚洲欧美日韩精品一区二区三区 | 欧美 日韩精品| 日韩久久精品成人| 欧美主播福利视频| 国产精品第七十二页| 亚洲精品乱码久久久久久| 精品一区毛片| 高清电影一区| 午夜影院免费| 中文字幕乱码免费| 一本一本久久a久久精品牛牛影视| 风间由美性色一区二区三区 | 丁香六月激情婷婷|