Shell 腳本之編程和變量(外加實戰項目)

Shell 腳本之編程和變量(外加實戰項目)

本章目的:學會編程規範,變量的相關腳本操做和知識

一.Shell 腳本的概述

Shell 腳本之編程和變量(外加實戰項目)

二.Shell的做用

Shell 腳本之編程和變量(外加實戰項目)

三.寫第一個Shell腳本

1.寫一個腳本(到BOOT目錄,查看當前位置,以長格式友好顯示VML開頭的全部文件)

[root@localhost ~]# vim aaa.sh "隨意編一個空文件以.sh爲結尾"

/bin/bash  "開頭聲明,固定格式」
一個腳本  "描述性信息可加可不加"
cd /boot/        

pwd
ls -lh vml*

~                                                                                       
~

2.給咱們的腳本加上執行權限,看一下結果

[root@localhost ~]# chmod +x aaa.sh

[root@localhost ~]# ./aaa.sh   //執行腳本,這是咱們最經常使用的方式
/boot
-rwxr-xr-x. 1 root root 5.7M 8月  10 00:26 vmlinuz-0-rescue-cc65aecf945d4dde800fe3e29ee6edbc
-rwxr-xr-x. 1 root root 5.7M 8月  23 2017 vmlinuz-3.10.0-693.el7.x86_64

3.重定向符號" > " 管道符號" | "

" > " :把左側的命令結果重定向另外一個文件或目錄

[root@localhost opt]# touch abc.tt abd.txt
[root@localhost opt]# ls
abc.tt  abd.txt  rh
[root@localhost opt]# tar czvf test.tar.gz *.txt > test2.txt
[root@localhost opt]# ls
abc.tt  abd.txt  rh  test2.txt  test.tar.gz
[root@localhost opt]# cat test2.txt
abd.txt
[root@localhost opt]#

" | " :把左側的命令結果,做爲右側命令的處理對象shell

統計全部磁盤分區的佔用率

[root@localhost opt]# df -hT
文件系統       類型      容量  已用  可用 已用% 掛載點
/dev/sda2      xfs        10G  3.8G  6.3G   38% /
devtmpfs       devtmpfs  898M     0  898M    0% /dev
tmpfs          tmpfs     912M     0  912M    0% /dev/shm
tmpfs          tmpfs     912M  9.1M  903M    1% /run
tmpfs          tmpfs     912M     0  912M    0% /sys/fs/cgroup
/dev/sdb1      xfs        20G   33M   20G    1% /mnt/sdb
/dev/sda5      xfs        10G   37M   10G    1% /home
/dev/sda1      xfs       6.0G  174M  5.9G    3% /boot
tmpfs          tmpfs     183M   12K  183M    1% /run/user/42
tmpfs          tmpfs     183M     0  183M    0% /run/user/0

磁盤在第一列  佔用率在第5列

[root@localhost opt]# df -h | grep "dev/sd*" | awk '{print $1,$5 }'
/dev/sda2 38%                                          
tmpfs 0%
/dev/sdb1 1%
/dev/sda5 1%
/dev/sda1 3%
[root@localhost opt]#

4.變量的做用和類型

Shell 腳本之編程和變量(外加實戰項目)

預約義變量:
變量名
做用
$0
當前腳本的名字
$n
傳遞給腳本或者函數的參數,n表示第幾個參數
$#
傳遞給腳本或函數的參數個數
$*
傳遞給腳本或函數的全部參數
$@
傳遞給腳本或者函數的全部參數
$$
當前shell腳本進程的PID
$?
函數返回值,或者上個命令的退出狀態

5.定義一個新的變量,查看變量的值

變量名=變量值
變量名以字母或下劃線開頭,區分大小寫編程

[root@localhost opt]# Producht=Python
[root@localhost opt]# Version=2.7.13
[root@localhost opt]# echo $Producht
Python
[root@localhost opt]# echo $Producht $Version
Python 2.7.13
[root@localhost opt]#

6.賦值使用各類引號,鍵盤輸入內容爲變量賦值

Shell 腳本之編程和變量(外加實戰項目)

[root@localhost ~]# vim c.sh

#!/bin/bash
read -p "請輸入一個整數" num1
read -p "請輸入第二個整數" num2
~                               
[root@localhost ~]# chmod +x c.sh
[root@localhost ~]# ./c.sh
請輸入第一個整數21
請輸入的二個整數232

7.整數變量的運算

Shell 腳本之編程和變量(外加實戰項目)

8.位置變量

Shell 腳本之編程和變量(外加實戰項目)

[root@localhost ~]# vim .sss.shvim

#!/bin/bash
read -p "第一個位置變量$1"
read -p "第二個位置變量$2"
sum=`expr $1 + $2`
echo "整數之和爲$sum"
~                        
[root@localhost ~]# ./.sss.sh 23 45
第一個位置變量23
第二個位置變量45
整數之和爲68
[root@localhost ~]# ./.sss.sh 64 120
第一個位置變量64
第二個位置變量120
整數之和爲18

9.環境變量

Shell 腳本之編程和變量(外加實戰項目)

[root@localhost ~]# echo $PWD
/root
[root@localhost ~]# echo $HOME
/root
[root@localhost ~]# echo $USER
root
[root@localhost ~]# echo $SHELL
/bin/bash

10.預約義變量

Shell 腳本之編程和變量(外加實戰項目)

#!/bin/bash
read -p "第一個位置變量$1"
read -p "第二個位置變量$2"
sum=`expr $1 + $2`
echo "整數之和爲$sum"
echo "腳本名稱$0"
echo "詳細數字$*"
echo "參數的個數$#"
~                                                                                       
~
[root@localhost ~]# ./.sss.sh 64 120
第一個位置變量64
第二個位置變量120
整數之和爲184
腳本名稱./.sss.sh
詳細數字64 120
參數的個數2

以上就是咱們的全部內容了

相關文章
相關標籤/搜索