標籤:idt test 成功 表示 狀態 lis sys file 一個
初次編輯2017年9月25日 22:43:40
摘要
一.shell的基本文法—變數
二. shell的基本文法—運算子
三. 流程式控制制
作業
今日總結
摘要
引用:海峰老師
- Shell的基本文法
- 流程式控制制、指令碼傳參
一.shell的基本文法—變數
- 命名規則
- 以字母開頭
- 使用中劃線或者底線做單詞的串連
- 同類型的用數字區分
- 對於檔案最好加上拓展名
- 系統變數
- set 和 env區別
- set:顯示所有變數
- env:系統變數
- 變數賦值
- 常用系統變數
- PATH
- PWD
- LANG
- HOME
- HISTSIZE:曆史日誌行數
- PS1:存放使用者資訊
- IFS
- export:定義全域變數
- 定義變數名的邊界
[[email protected] ~]# rest_mem=20
[[email protected] ~]# echo ${rest_mem}%
20%
- 資料類型
二. shell的基本文法—運算子
- 算術運算子
- 關係操作
- <
- >
- <=
- >=
- ==
- !=
- &&
- ||
- test命令相關,[]可以達到一樣的效果
- 賦值運算子
- =
- +=
- *=
- /=
- %=
- [[email protected] ~]# ((x%=3))
[[email protected] ~]# echo $x
- shell裡的所有計算機
- $[]
- (())
- $(())
- expr
- 浮點運算bc軟體
- yum install bc -y
- echo ‘scale=2;1/3‘|bc -l(保留兩位,1除以3運算)
- 測試操作
- 命令執行後會返回到一個系統變數中 ?值為0 表示命令執行成功 否則為失敗
- 測試命令 test [ ] [[ ]] (( ))
- 測試檔案狀態
- -d 目錄
- -e
- -h 連結檔案
- -s 檔案長度 > 0、非空
- -f 普通檔案
- -w 可寫
- -r 可讀
- -x 可執行
- -L 符號串連
- -u 檔案有 suid 位設定
- -b block檔案
- 字串測試
- = 兩個字串相等
- != 兩個字串不相等
- -z 空串
- -n 非空串
- 測試數值
- -eq 等於
- -ne 不等於
- -gt 大於
- -lt 小於
- -ge 大於等於
- -le 小於等於
- 拓展測試符號
三. 流程式控制制
- 流程式控制制之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
#! /bin/bashps aux|grep nginx|grep -v grepif [ $? -eq 1 ] then systemctl start nginxfi
作業
今日總結
Python全棧之路Day9