理论 Linux-shell编程规范与变量

目录一、Shell脚本概述1.1 Shell的作用-11.2 Shell的作用-21.3 编写第一个shell脚本-11.4 编写第一个shell脚本-21.5 编写第一个shell脚本-31.6 重定向与管道操作-11.7 重定向与管道操作-21.8 重定向与管道操作-31.9 重定向与管道操作-4二、Shell脚本变量2.1 Shell变量的作用、类型2.2 自定义变量-12.3 自定义变量-22.4 自定义变量-32.5 自定义变量-42.6 特殊的Shell变量-12.7 特殊的Shell变量-22.8 特殊的Shell变量-32.9 特殊的Shell变量-4

一、Shell脚本概述
1.1 Shell的作用-1

■ shel的作用—命令解释器,“翻译官”

介于系统内核与用户之间,负责解释命令行
理论 Linux-shell编程规范与变量

1.2 Shell的作用-2

■ 用户的登录Shell

登录后默认使用的shell程序,一般为/bin/bash
不同shell的内存指令、运行环境等会有所区别

[root@localhost -]# cat /etc/shells
/bin/sh
/bin/bash
/sbin/nologi

1.3 编写第一个shell脚本-1

■ 编写脚本代码

使用vim文本编辑器
每行—条Linux命令,按执行顺序依次编写

[root@localhost  ]# vim first.sh
cd /boot/
pwd
Is -Ih vml*

■ 赋予可执行权限

使脚本具有可执行属性

 [root@localhost -]# chmod +x first.sh

1.4 编写第一个shell脚本-2

■ 执行脚本文件

方法脚本文件路径(绝对路径与相对路径)

[root@ local host  ]# ./first.sh

方法二:sh脚本文件路径

[root@localhost] # sh first.sh

方法三:source脚本文件路径

[root@localhost] # source first.sh

1.5 编写第一个shell脚本-3

■ 更完善的脚本构成

脚本声明
注释信息
可执行语句

[root@localhost  ]# vim /first.sh
#!/bin/bash
# This is my first Shell-Script,
cd /boot
echo "当前的目录位于:"
pwd
echo "其中以vml开头的文件包括: Is -lh vml*

1.6 重定向与管道操作-1

■ 交互式硬件设备

标准输入:从该设备接收用户输入的数据
标准输出:通过该设备向用户输出数据
标准错误:通过该设备报告执行出错信息
理论 Linux-shell编程规范与变量

1.7 重定向与管道操作-2

■ 重定向操作
理论 Linux-shell编程规范与变量

1.8 重定向与管道操作-3

■ 重定向操作
理论 Linux-shell编程规范与变量

1.9 重定向与管道操作-4

■ 管道操作符号"|"

将左侧的命令输出结果,作为右侧命令的处理对象

cmd | cmd2 [... | cmdn]

[root@localhost -]# grep "bash$" /etc/passwd
root:x:0:0:root:/root:/bin/bash
teacher:x:500:500:BENET Linux Teacher:/home/teacher:/bin/bash
[root@localhost ] # grep “bash$” /etc/passwd | awk -F: ‘{print $1, $7}’
root /bin/bash

二、Shell脚本变量
2.1 Shell变量的作用、类型

■ 变量的作用

用来存放系统和用户需要使用的特定参数(值)
变量名:使用固定的名称,由系统预设或用户定义
变量值:能够根据用户设置、_系统环境的变化而变化
■ 变量的类型
自定义变量:由用户自己定义、修改和使用
特殊变量:环境变量,只读变量,位置变量,预定义变量

2.2 自定义变量-1

■ 定义一个新的变量

变量名以字母或下划线开头,区分大小写,建议全大写

■ 查看变量的值

echo $变置名

[root@localhost ~]# Products Python
[root@ local host ~]# Version=2.7.13
[root@localhost ~]# echo $Product
Python
[root@ local host ~]# echo $Product $Version Python 2.7.13

2.3 自定义变量-2

■ 赋值时使用引号

双引号:允许通过$符号引用其他变量值
单引号:禁止引用其他变量值,$视为普通字符
反撇号:命令替换,提取命令执行后的输出结果

■ 从键盘输入内容为变量赋值

read [-p "提示信息"]变量名

2.4 自定义变量-3

■ 设置变量的作用范围

格式1: export变量名…
格式2: export变置名=变置值...
[root@localhost -]# echo "SProduct $Version’ Benet 6.0
[root@localhost ] # export Product Version
[root@localhost ~j# basK?
[root@localhost ~j# echo "SProduct $Version Benet 6.0

2.5 自定义变量-4

■ 整数变量的运算

expr 变量1 运算符 变量2 [运算符 变量3]...

■ 常用运算符

加法运算:+
减法运算:_
乘法运算:*
除法运算:/
求模(取余)运算:%

2.6 特殊的Shell变量-1

■ 环境变量

由系统提前创建,用来设置用户的工作环境
配置文件:/etc/profile、 /.bash—profile

■ 常见的环境变量

PWD、 PATH
USER、SHELL、 HOME

[root@localhost  ]# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/root/bin:/usr/local/mysql/bin:/root/bin
[root@localhost ]# PATH="$PATH:/root"
iroot@localhost j# echo $PATH
/usr/local/sbin:/usr/local/bin:/usr/^in:/usr/bin:/root/bin:/usr/local/mysql/bin:/root/bin:/root

2.7 特殊的Shell变量-2

■ 只读变量

用于变量值不允许被修改的情况

[root@localhost -]# name=cloud
[root@localhost -]# readonly name //设置为只读变量
[root@localhost ~j# echo $name
cloud
[root@localhost ] # name=yun
-bash: name: readonly variable //只读变量不可以被重新赋值 [root@localhost~]#
[root@localhost -]# unset name //只读变量不可以被删除
-bash: unset: name: cannot unset: readonly variable

2.8 特殊的Shell变量-3

■ 位置变量

表示为$n,n为1-9之间的数字

[root@localhost  ]# ./myprog.sh one two three four five

2.9 特殊的Shell变量-4

■ 预定义变量

$#:命令行中位置变量的个数
$*:所有位置变量的内容
$?:上一条命令执行后返回的状态,当返回状态值为o时 表示执行正常,非o值表示执行异常或出错
$0:当前执行的进程/程序名

■ 预定义变量

[root@localhost -]# vim mybak.sh
#!/bin/bash
TARFILE=beifen-'date +%s'.tgz
tar zcf $TARFILE $* &> /dev/null
tcho "已执行$0脚本, "
echo "共完成$#个对象的备份"
echo •具体内容包括:
[root@localhost -]# chmod +x mybak.sh
[root@localhost ]# ./mybak.sh /etc/passwd /etc/shadow 已执行./mybak.sh脚本,
共完成2个对象的备份
具体包括:/etc/passwd /etc/shadow

原创:https://www.panoramacn.com
源码网提供WordPress源码,帝国CMS源码discuz源码,微信小程序,小说源码,杰奇源码,thinkphp源码,ecshop模板源码,微擎模板源码,dede源码,织梦源码等。

专业搭建小说网站,小说程序,杰奇系列,微信小说系列,app系列小说

理论 Linux-shell编程规范与变量

免责声明,若由于商用引起版权纠纷,一切责任均由使用者承担。

您必须遵守我们的协议,如果您下载了该资源行为将被视为对《免责声明》全部内容的认可-> 联系客服 投诉资源
www.panoramacn.com资源全部来自互联网收集,仅供用于学习和交流,请勿用于商业用途。如有侵权、不妥之处,请联系站长并出示版权证明以便删除。 敬请谅解! 侵权删帖/违法举报/投稿等事物联系邮箱:2640602276@qq.com
未经允许不得转载:书荒源码源码网每日更新网站源码模板! » 理论 Linux-shell编程规范与变量
关注我们小说电影免费看
关注我们,获取更多的全网素材资源,有趣有料!
120000+人已关注
分享到:
赞(0) 打赏

评论抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址

您的打赏就是我分享的动力!

支付宝扫一扫打赏

微信扫一扫打赏