Linux之bash脚本编程---选择执行
生活随笔
收集整理的這篇文章主要介紹了
Linux之bash脚本编程---选择执行
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
編程風格
????過程式編程,目的解決問題
????? ? 指令組織數據,指令的堆砌
????????為了完成復雜的任務
????????????順序執行:遍歷的方式執行,逐個運行
????????????選擇執行:有一種選擇標準,結果只能有一種選擇,只執行某些 代碼片段
????????????循環執行:對一類對象逐個運行相同的運算,類似于 拉磨 的方式,某些代碼連續執行多次
????對象式編程:
????????數據為中心
程序執行的方式
????編譯:先翻譯后執行,先將高級語言轉換為目標代碼:C,java程序 --> 編譯 --> 目標代碼
????解釋:邊翻譯邊執行,為避免語法、邏輯等錯誤,一般先進行語法檢查?Shell,java,perl,python程序 --> 解釋 --> 目標代碼
????
bash:過程式編程、解釋執行
????純文本格式
????cpu上運行是由magic number指定的解釋器
????由解釋器執行文本
選擇執行
????在由if指定的條件中有2種可能,執行狀態結果為0,或執行狀態結果不為0的結果。
?????單分支條件判斷
| 1 2 3 4 5 6 7 8 9 10 | if?條件;那么 ????條件的執行狀態結果為0 結束 或 if?條件 那么 ????條件的執行狀態結果為0 結束 |
????????2分支條件判斷
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 | if?條件;那么 ????條件的執行狀態結果為0 否則 ????條件的執行狀態結果不為0 結束 或 if?條件 那么 ????條件的執行狀態結果為0 否則 ????條件的執行狀態結果不為0 結束 |
例如:
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 | 如果用戶存在,則添加 #?vim?adduser.sh #!/bin/bash # ##判斷向腳本傳遞的參數是否小于1 if?[?$#?-lt?1?] then echo?"At?least?one?arguments." exit?1??##如果向腳本傳遞的參數小于1,就退出? fi ##小于1退出,則能繼續執行的為>=1 ##判斷用戶是否存在 if?id?$1?&>?/dev/null;?then ????#條件的執行狀態結果為0,表示為存在 ????echo?"$1?exists." ????#存在時,退出,返回0 ????exit?0 #否則 else ????#條件的執行狀態結果不為0,表示為不存在 ????useradd?$1?&>?/dev/null ????#如果添加不成功,顯示用戶名不合法 ????[?$??-eq?0?]?||?echo?"User?name?is?not?legal"?&&?exit?1 ????#如果執行成功,添加密碼 ????echo?"$1"?|?passwd?--stdin?$1?>?/dev/null?2>&1 ????#添加密碼成功時,返回0 ????[?$??-eq?0?]?&&?exit?0 ????#添加密碼不成功時,返回1 ????exit?1? #結束 fi 給予x權限 [root@izpo45bh60h6bsz?tmp]#?chmod?+x?adduser.sh? [root@izpo45bh60h6bsz?tmp]#?ls?-l?adduser.sh -rwxr-xr-x?1?root?root?835?Aug??5?16:37?adduser.sh 執行 ./adduser.sh?user:::::::::::::::::::::::::: User?name?is?not?legal |
本文轉自 lccnx 51CTO博客,原文鏈接:http://blog.51cto.com/sonlich/1953846,如需轉載請自行聯系原作者
總結
以上是生活随笔為你收集整理的Linux之bash脚本编程---选择执行的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 构造NFS
- 下一篇: linux 其他常用命令