溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Shell腳本中編程和變量的示例分析

發(fā)布時(shí)間:2021-11-08 11:22:42 來源:億速云 閱讀:163 作者:小新 欄目:云計(jì)算

這篇文章將為大家詳細(xì)講解有關(guān)Shell腳本中編程和變量的示例分析,小編覺得挺實(shí)用的,因此分享給大家做個(gè)參考,希望大家閱讀完這篇文章后可以有所收獲。

一.Shell 腳本的概述

Shell腳本中編程和變量的示例分析

二.Shell的作用

Shell腳本中編程和變量的示例分析

三.寫第一個(gè)Shell腳本

1.寫一個(gè)腳本(到BOOT目錄,查看當(dāng)前位置,以長格式友好顯示VML開頭的所有文件)

[root@localhost ~]# vim aaa.sh "隨意編一個(gè)空文件以.sh為結(jié)尾"

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

pwd
ls -lh vml*

~                                                                                       
~

2.給我們的腳本加上執(zhí)行權(quán)限,看一下結(jié)果

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

[root@localhost ~]# ./aaa.sh   //執(zhí)行腳本,這是我們最常用的方式
/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.重定向符號(hào)" > "   管道符號(hào)"  |  "

" > " :把左側(cè)的命令結(jié)果重定向另一個(gè)文件或目錄

[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]#

"  |  " :把左側(cè)的命令結(jié)果,作為右側(cè)命令的處理對(duì)象

統(tǒng)計(jì)所有磁盤分區(qū)的占用率

[root@localhost opt]# df -hT
文件系統(tǒng)       類型      容量  已用  可用 已用% 掛載點(diǎn)
/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腳本中編程和變量的示例分析

預(yù)定義變量:
變量名
作用
$0
當(dāng)前腳本的名字
$n
傳遞給腳本或者函數(shù)的參數(shù),n表示第幾個(gè)參數(shù)
$#
傳遞給腳本或函數(shù)的參數(shù)個(gè)數(shù)
$*
傳遞給腳本或函數(shù)的所有參數(shù)
$@
傳遞給腳本或者函數(shù)的所有參數(shù)
$$
當(dāng)前shell腳本進(jìn)程的PID
$?
函數(shù)返回值,或者上個(gè)命令的退出狀態(tài)

5.定義一個(gè)新的變量,查看變量的值

變量名=變量值
變量名以字母或下劃線開頭,區(qū)分大小寫

[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.賦值使用各種引號(hào),鍵盤輸入內(nèi)容為變量賦值

Shell腳本中編程和變量的示例分析

[root@localhost ~]# vim c.sh

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

7.整數(shù)變量的運(yùn)算

Shell腳本中編程和變量的示例分析

8.位置變量

Shell腳本中編程和變量的示例分析

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

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

9.環(huán)境變量

Shell腳本中編程和變量的示例分析

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

10.預(yù)定義變量

Shell腳本中編程和變量的示例分析

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

關(guān)于“Shell腳本中編程和變量的示例分析”這篇文章就分享到這里了,希望以上內(nèi)容可以對(duì)大家有一定的幫助,使各位可以學(xué)到更多知識(shí),如果覺得文章不錯(cuò),請(qǐng)把它分享出去讓更多的人看到。

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI