Python全棧之路Day9

來源:互聯網
上載者:User

標籤:idt   test   成功   表示   狀態   lis   sys   file   一個   

初次編輯2017年9月25日 22:43:40

摘要
一.shell的基本文法—變數
二. shell的基本文法—運算子
三. 流程式控制制
作業
今日總結

摘要

引用:海峰老師

  1. Shell的基本文法
  2. 流程式控制制、指令碼傳參
一.shell的基本文法—變數
  1. 命名規則
    1. 以字母開頭
    2. 使用中劃線或者底線做單詞的串連
    3. 同類型的用數字區分
    4. 對於檔案最好加上拓展名
  2. 系統變數
    • set 和 env區別
    • set:顯示所有變數
    • env:系統變數
  3. 變數賦值
    • unset VARNAME:刪除變數
  4. 常用系統變數
    • PATH
    • PWD
    • LANG
    • HOME
    • HISTSIZE:曆史日誌行數
    • PS1:存放使用者資訊
    • IFS
    • export:定義全域變數
  5. 定義變數名的邊界
    [[email protected] ~]# rest_mem=20
    [[email protected] ~]# echo ${rest_mem}%
    20%
  6. 資料類型
二. shell的基本文法—運算子
  1. 算術運算子
    • +
    • -
    • *
    • /
    • %
  2. 關係操作
    • <
    • >
    • <=
    • >=
    • ==
    • !=
    • &&
    • ||
      • 以上與(())連用
    • test命令相關,[]可以達到一樣的效果
  3. 賦值運算子
    • =
    • +=
    • *=
    • /=
    • %=
    • [[email protected] ~]# ((x%=3))
      [[email protected] ~]# echo $x
  4. shell裡的所有計算機
    • $[]
    • (())
    • $(())
    • expr
    • 浮點運算bc軟體
      • yum install bc -y
      • echo ‘scale=2;1/3‘|bc -l(保留兩位,1除以3運算)
  5. 測試操作
    1. 命令執行後會返回到一個系統變數中 ?值為0 表示命令執行成功 否則為失敗
    2. 測試命令 test [ ] [[ ]] (( ))
      1. 測試檔案狀態
        • -d 目錄
        • -e
        • -h 連結檔案
        • -s 檔案長度 > 0、非空
        • -f 普通檔案
        • -w 可寫
        • -r 可讀
        • -x 可執行
        • -L 符號串連
        • -u 檔案有 suid 位設定
        • -b block檔案
      2. 字串測試
        • = 兩個字串相等
        • != 兩個字串不相等
        • -z 空串
        • -n 非空串
      3. 測試數值
        • -eq 等於
        • -ne 不等於
        • -gt 大於
        • -lt 小於
        • -ge 大於等於
        • -le 小於等於
      4. 拓展測試符號
三. 流程式控制制
  1. 流程式控制制之if語句
#!/bin/bashvar=‘/etc/init.d‘#var=‘/dev/sda‘if [ -d $var ]    then        echo "$var is directory"elif [ -b $var ]    then        echo "$var is block"elif [ -f $var ]    then        echo "$var is regular file"else        echo ‘unknow‘fi
  • 向指令碼傳遞參數
#test.shecho $0echo $1echo $2echo $3echo ${11}echo ‘$$‘ $$echo ‘$*‘ $*echo ‘[email protected]‘ [email protected]echo ‘$#‘ $#echo ‘$?‘ $?‘‘‘測試:python test.sh 1 2 3 4 5 6 7 8 9 10 11輸出結果:./test.sh    211$$ 14312$* 1 2 3 4 5 6 7 8 9 10 11[email protected] 1 2 3 4 5 6 7 8 9 10 11$# 11$? 0‘‘‘
* $0 為啟動並執行檔案名稱* $$ 為進程pid* $* 為輸入的所有的參數* [email protected] 同$** $# 輸入參數個數* $? 上一條命令是否執行成功
  • 修改指令碼,使其能接收調用者傳來的參數
[[email protected] ~]# cat test_file.sh#!/bin/bashif [ -d $1 ]    then        echo "$1 is directory"elif [ -b $1 ]    then        echo "$1 is block"elif [ -f $1 ]    then        echo "$1 is regular file"else        echo ‘unknown‘fi[[email protected] ~]# ./test_file.sh /etc/passwd/etc/passwd is regular file
  • 檢測nginx是否啟動,如果沒啟動,將其啟動
#! /bin/bashps aux|grep nginx|grep -v grepif [ $? -eq 1 ]    then        systemctl start nginxfi
作業
今日總結

Python全棧之路Day9

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.