Linux:shell编程1(内含:1.shell简介+2.shell实操+3.shell的变量介绍+4.shell变量的定义)

简介: Linux:shell编程1(内含:1.shell简介+2.shell实操+3.shell的变量介绍+4.shell变量的定义)

1.shell简介:


32175cf7f2204e51bab378facf9d203d.png


解释:界面编写各种命令时,需要一个解释器,解释器先执行后给linux。执行完之后,结果返回给界面。经常使用的是bash。


注:若界面执行的命令比较复杂,可以写一个脚本,xxxx.sh。(可以是变量,控制程序等)。


通常使用的shell脚本就是对x.shell进行编程的。


可参考下图:


712e0ee22bb944deb6a1f0a4c10d0420.png


2.shell实操:


d353577ad503408896a604a1bdd09adc.png


操作实例:创建一个shell脚本,输出hello world! 操作如下:


方法一(输入脚本的相对路径或绝对路径,此时必须给可执行权限):


597c75ccc4d94b4c8000c7b1ad2bcee8.png


注:mkdir是创建目录。


shell脚本的后缀一般是.sh


bc634b13494e40ff8b70363584395a3d.png

acec0a36b9214dd99883ab201121aaff.png



注:此时是没有执行权限的!如果你想打开她,就会造成如下操作:


73b5fb56a1c141dab22974d6670a647a.png


3b7318e7a1d54f6295c059e0cd5c7176.png


7eddcf396cc644889b1e0994cd8e157b.png


vim hello.sh:使用vim编译器编译hello文件,且shell脚本的后缀一般为sh


echo"hello,world~"表示输出hello,world~


ll:查看文件权限。注意:此时的hello.sh文件,并没有给root(当前用户)可执行权限,即没有r权限。


./hello.sh:相对路径查看文件,是对是否含有可执行程序的一种判断方式。


chmod u+x hello.sh:u+x是给管理员用户增加x权限,此时变为绿色。


./hello.sh:此时可以查看hello.sh内的内容,可以被执行,说明有可执行权限。


方法二(sh+脚本,不需要可执行权限),操作如下:


chmod u-x hello.sh:拿掉可执行权限(u-x)


bd1afa46d7014f2999de4bd8525fb1fc.png


sh+脚本,操作如下:


d6e8a4b2c96e4c6782fc40e4434ec6b0.png


3.shell的变量介绍:


1c6c313159164fe0ba2203a82008d697.png


系统变量:


查看某一个系统变量的位置:


ef459e30fbce47ee8b87a82e01bc5b69.png


显示当前shell中所有的系统变量:set


静态变量:


注:shell变量的定义中,变量=值,中间不能打空格!


案例1:定义变量A 案例2:撤销变量A 案例3:声明静态变量B=2 操作如下:


此处脚本取名是var


19fcb424185748589d1fe367da89dcab.png


df1a13bcd00a427ebfac2d981ca909ec.png


解释:看见echo就会输出后面的内容,且在没遇见$前,会将其变为普通文本。在遇到$后,会将后面的值变为一个数值。


3f84ef6e65f246ee9fd92a088d04984f.png

aa142566780d4ac8a5e36844a4564d94.png


解释:此处没有输出任何东西,是因为unset 已经将A的值销毁了。echo此时已经无法输出A所赋的值了。


4a43ef71187749418a65950a9da5c205.png

be0cc2f9fb644083b42baff5e4cb10f4.png


注:静态变量不能被unset关键字修饰,否则会报错,如下:


58c41b7fd5704c95b92bafc6a8c0ba6a.png


72e4b46247704d44b5105c644c4b9f14.png


4.shell变量的定义:


775f96aa5c7e48a2b98513215f36b0ca.png


解释:


A=date表示把date这个单词赋予A, A='date'表示把指令date操作后的结果赋予A


A=$(date)等价于A='date'


将指令返回的结果赋予变量。最终结果如下:


3cd556f775874a22a2de7af67a5263f0.png

01fb232b3a8b412b98305713a049d8ab.png



相关文章
|
6月前
|
存储 安全 Unix
七、Linux Shell 与脚本基础
别再一遍遍地敲重复的命令了,把它们写进Shell脚本,就能一键搞定。脚本本质上就是个存着一堆命令的文本文件,但要让它“活”起来,有几个关键点:文件开头最好用#!/usr/bin/env bash来指定解释器,并用chmod +x给它执行权限。执行时也有讲究:./script.sh是在一个新“房间”(子Shell)里跑,不影响你;而source script.sh是在当前“房间”里跑,适合用来加载环境变量和配置文件。
576 9
|
6月前
|
算法 Linux Shell
Linux实用技能:打包压缩、热键、Shell与权限管理
本文详解Linux打包压缩技巧、常用命令与原理,涵盖.zip与.tgz格式操作、跨系统传文件方法、Shell运行机制及权限管理,助你高效使用Linux系统。
Linux实用技能:打包压缩、热键、Shell与权限管理
|
6月前
|
存储 Shell Linux
八、Linux Shell 脚本:变量与字符串
Shell脚本里的变量就像一个个贴着标签的“箱子”。装东西(赋值)时,=两边千万不能有空格。用单引号''装进去的东西会原封不动,用双引号""则会让里面的$变量先“变身”再装箱。默认箱子只能在当前“房间”(Shell进程)用,想让隔壁房间(子进程)也能看到,就得给箱子盖个export的“出口”戳。此外,Shell还自带了$?(上条命令的成绩单)和$1(别人递进来的第一个包裹)等许多特殊箱子,非常有用。
569 3
|
8月前
|
Web App开发 缓存 安全
Linux一键清理系统垃圾:释放30GB空间的Shell脚本实战​
这篇博客介绍了一个实用的Linux系统盘清理脚本,主要功能包括: 安全权限检查和旧内核清理,保留当前使用内核 7天以上日志文件清理和系统日志压缩 浏览器缓存(Chrome/Firefox)、APT缓存、临时文件清理 智能清理Snap旧版本和Docker无用数据 提供磁盘空间使用前后对比和大文件查找功能 脚本采用交互式设计确保安全性,适合定期维护开发环境、服务器和个人电脑。文章详细解析了脚本的关键功能代码,并给出了使用建议。完整脚本已开源,用户可根据需求自定义调整清理策略。
971 1
|
10月前
|
Linux Shell
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
Centos或Linux编写一键式Shell脚本删除用户、组指导手册
299 4
|
10月前
|
Linux Shell 数据安全/隐私保护
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
Centos或Linux编写一键式Shell脚本创建用户、组、目录分配权限指导手册
549 3
|
存储 Shell Linux
【Shell 编程】变量 | 特殊变量与标准变量 | 基本语句介绍
【Shell 编程】变量 | 特殊变量与标准变量 | 基本语句介绍
328 0
|
运维 Shell Python
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)(一)
【运维知识高级篇】超详细的Shell编程讲解2(变量切片+统计变量长度+字串删除+字串替换+七种方法进行数值运算+整数比较+多整数比较+文件判断+字符串比对+正则比对+配合三剑客的高阶用法)
321 0
|
存储 Shell C语言
shell脚本 编程 变量 基本入门(详解)
shell脚本 编程 变量 基本入门(详解)
268 1
|
Shell Linux
Shell编程自动化之特殊Shell扩展变量
本文主要介绍了Shell编程自动化之特殊Shell扩展变量,并结合实例测试。
258 0